iOS应用程序,有通过AppStore更新应用程序时订阅活动的方法吗?

时间:2017-07-05 20:43:08

标签: ios lifecycle app-update

我需要清理存储在NSUserDefaults for iOS app中的一些属性,当它更新到新版本时。

当这样的应用更新即将发生或已经发生时,是否有通知的方法?

我的假设也是正确的,当应用程序更新时,NSUserDefaults不会自动清理?

2 个答案:

答案 0 :(得分:3)

根据我的经验,除非用户从头开始重新安装应用程序,否则NSUserDefaults将保留在未来的版本中。

您可以通过跟踪应用程序打开后可在App Delegate上更新的版本号来实现目标。

基于此,您可以使用逻辑检查并调用函数以重置所需的属性。

答案 1 :(得分:2)

在应用更新中未修改UserDefaults。您基本上要问的是如何为您的数据实现版本控制。最基本的方法是在应用中使用版本值并将其添加到UserDefaults。

应用开始时的示例流程:

  1. 您已经定义了" 1.0"的版本在你的代码和"版本"键
  2. 在应用启动时,会访问UserDefaults并且您的"版本"检查密钥以查看是否存在值。
  3. 如果某个值存在并且它等于上面定义的版本,则表示该应用程序之前已使用此版本启动,因此无需执行任何工作。
  4. 如果某个值存在但对于上面定义的版本不存在(对于将来的版本会发生这种情况)或者根本不存在任何值,则可以执行清理,因为这是您第一次启动此版本。 / LI>
  5. 最后,将UserDefaults中的值更新为当前版本。