主要用于程序升级,开启程序后是否显示新特性两个方面。
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 }