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     }

 

posted @ 2015-05-16 11:35  时间已静止  阅读(1440)  评论(0编辑  收藏  举报