iOS中如何知道app版本已更新

主要用于程序升级,开启程序后是否显示新特性两个方面。

1.苹果app版本

  苹果规定,程序的版本只能升不能降。例如1.0->1.1可以,1.1->1.0就不可以,不允许上架。

2.app版本存放位置

  版本信息存放在Info.plist文件中,在工程的General栏中也可以看到。当app更新后,这里的版本信息会自动修改,因此获取Info.plist中的版本信息即为最新的版本。如果想人为的修改它们在两处的任意一处均可。

技术分享

 

技术分享

 3.代码实现(Swift)

  程序中将上次的版本保存入沙盒,然后和最新的做比较。实现如下:

 1 /// 如果程序刚更新则返回true
 2     private func isUpdated() -> Bool {
 3         
 4         // 从Info.plist中获取当前程序的版本
 5         let currentVersionStr = NSBundle.mainBundle().infoDictionary!["CFBundleShortVersionString"] as! String
 6         let currentVersion = NSNumberFormatter().numberFromString(currentVersionStr)!.doubleValue
 7         
 8         // 获取沙盒中的版本
 9         let versionKey = "sandboxKey"
10         let userDefaults = NSUserDefaults.standardUserDefaults()
11         let sandboxVersion = userDefaults.doubleForKey(versionKey)
12         
13         // 将当前版本记录入沙盒
14         userDefaults.setDouble(currentVersion, forKey: versionKey)
15         userDefaults.synchronize()
16         
17         // 只有大于才返回true
18         return currentVersion > sandboxVersion
19     }

 

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。