如何检测每次新版本升级时首次启动app?

时间:2016-10-13 12:26:17

标签: ios swift app-update

我要求在用户将应用升级到更新版本后检测首次启动应用。我需要在用户将应用程序升级到新版本后首次启动应用程序时执行某项任务。许多链接在线提供,但没有一个清楚地回答我的查询。如何在Swift 2,iOS 9中实现这一点。

大多数可用的答案都表示要在NSUserDefaults中维护一个键,并将其值设置为false,并在首次启动后使其成立。但问题是在我升级我的应用程序后,变量仍然是真的,因此我的方案在应用程序升级时失败。任何帮助将非常感激。谢谢!

2 个答案:

答案 0 :(得分:2)

试试这个:

    let existingVersion = NSUserDefaults.standardUserDefaults().objectForKey("CurrentVersionNumber") as? String
    let appVersionNumber = NSBundle.mainBundle().objectForInfoDictionaryKey("CFBundleShortVersionString") as! String

    if existingVersion !=  appVersionNumber {
        NSUserDefaults.standardUserDefaults().setObject(appVersionNumber, forKey: "CurrentVersionNumber")
        NSUserDefaults.standardUserDefaults().synchronize()
       //You can handle your code here
    }

答案 1 :(得分:1)

更新Yogesh的完美而简单的解决方案以迅速实现4

    let existingVersion = UserDefaults.standard.object(forKey: "CurrentVersionNumber") as? String
    let appVersionNumber = Bundle.main.object(forInfoDictionaryKey: "CFBundleShortVersionString") as! String

    if existingVersion != appVersionNumber {
        print("existingVersion = \(String(describing: existingVersion))")
        UserDefaults.standard.set(appVersionNumber, forKey: "CurrentVersionNumber")

 // run code here.

    }