当 iOS 应用程序更新到新版本时,我需要清理一些存储在 NSUserDefaults 中的属性。
有没有办法在此类应用更新即将发生或已经发生时得到通知?
我的假设是否正确,即当应用程序更新时,NSUserDefaults 不会自动清理?
当 iOS 应用程序更新到新版本时,我需要清理一些存储在 NSUserDefaults 中的属性。
有没有办法在此类应用更新即将发生或已经发生时得到通知?
我的假设是否正确,即当应用程序更新时,NSUserDefaults 不会自动清理?
UserDefaults 在应用更新时不会被修改。您本质上要问的是如何为您的数据实施版本控制。最基本的方法是在您的应用程序中使用版本值并将其添加到您的 UserDefaults。
应用启动示例流程:
根据我的经验,除非用户从头开始重新安装应用程序,否则 NSUserDefaults 会保留在未来的版本中。
您可以通过跟踪版本号来实现您的目标,一旦应用程序打开,您可以在 App Delegate 上更新该版本号。
基于此,您可以检查并使用您的逻辑调用一个函数来重置您想要的属性。