iOS 应用程序,当应用程序通过 AppStore 更新时,有没有办法订阅事件?
iOS app, is there a way to subscribe to an event when an app is updated through AppStore?
当 iOS 应用更新到新版本时,我需要清理存储在 NSUserDefaults 中的一些属性。
有没有办法在即将或已经发生此类应用更新时收到通知?
我的假设是否正确,当应用程序更新时,NSUserDefaults 不会自动清除?
根据我的经验,NSUserDefaults 将保留在未来的版本中,除非用户从头开始重新安装该应用程序。
您可以通过跟踪版本号来实现您的目标,您可以在应用程序打开后在 App Delegate 上更新该版本号。
在此基础上,您可以使用您的逻辑检查和调用一个函数来重置您想要的属性。
UserDefaults 不会在应用程序更新时被修改。您实质上要问的是如何为您的数据实施版本控制。最基本的方法是在您的应用中使用版本值并将其添加到您的 UserDefaults。
应用程序启动时的示例流程:
- 您在代码中定义了“1.0”版本和 "Version" 密钥
- 在应用程序启动时,会访问 UserDefaults 并检查您的 "Version" 键以查看是否存在对应的值。
- 如果值存在且等于上面定义的版本,则表示该应用程序之前已使用此版本启动,因此无需执行任何操作。
- 如果值存在但不等于(未来版本会发生这种情况)上面定义的版本或根本不存在值,您可以执行清理,因为这是您第一次启动此版本.
- 最后,将 UserDefaults 中的值更新为当前版本。
当 iOS 应用更新到新版本时,我需要清理存储在 NSUserDefaults 中的一些属性。
有没有办法在即将或已经发生此类应用更新时收到通知?
我的假设是否正确,当应用程序更新时,NSUserDefaults 不会自动清除?
根据我的经验,NSUserDefaults 将保留在未来的版本中,除非用户从头开始重新安装该应用程序。
您可以通过跟踪版本号来实现您的目标,您可以在应用程序打开后在 App Delegate 上更新该版本号。
在此基础上,您可以使用您的逻辑检查和调用一个函数来重置您想要的属性。
UserDefaults 不会在应用程序更新时被修改。您实质上要问的是如何为您的数据实施版本控制。最基本的方法是在您的应用中使用版本值并将其添加到您的 UserDefaults。
应用程序启动时的示例流程:
- 您在代码中定义了“1.0”版本和 "Version" 密钥
- 在应用程序启动时,会访问 UserDefaults 并检查您的 "Version" 键以查看是否存在对应的值。
- 如果值存在且等于上面定义的版本,则表示该应用程序之前已使用此版本启动,因此无需执行任何操作。
- 如果值存在但不等于(未来版本会发生这种情况)上面定义的版本或根本不存在值,您可以执行清理,因为这是您第一次启动此版本.
- 最后,将 UserDefaults 中的值更新为当前版本。