【发布时间】:2016-10-13 12:26:16
【问题描述】:
我需要在用户将应用升级到较新版本后检测应用的首次启动。在用户将应用程序升级到新版本后,我只需要在首次启动应用程序时执行某些任务。网上有很多链接,但没有一个能清楚地回答我的查询。如何在 Swift 2 和 iOS 9 中实现这一点。
大多数可用的答案都说要在 NSUserDefaults 中维护一个键并将其值设置为 false 并在首次启动后使其为 true。但问题是在我升级我的应用程序后,变量仍然是真实的,因此我的方案在应用程序升级时失败。任何帮助将非常感激。谢谢!
【问题讨论】:
-
做同样的事情,但不是保存布尔值,而是保存构建/应用程序版本。在你的Info.plist中:stackoverflow.com/questions/1492351/…阅读,如果相同,不更新,如果没有,新版本,然后写。
-
@Larme 谢谢!但是,你能更详细地描述一下吗?如果我没看错你的意思,我应该比较版本,如果版本号有变化,那么这个任务运行,否则不运行。对吗?
-
在伪代码中,这应该是诀窍:
savedVersion = readStringVersionFromUserDefault(); currentVersion = readStringVersionFromBundlePlist(); if (savedVersion.isNil or currentVersion != savedVersion){firstTimeUserLaunchedThisVersion(); saveStringVersionFromBundlePlistIntoUserDefaults();}else{UserHasAlreadyLaunchedThisVersion} -
谢谢@Larme 我知道它的回复很晚:P
标签: ios swift app-update