我们目前正在使用我们的iPhone应用程序遇到以下奇怪的问题.正如标题所说,NSUserDefaults
当手机重新启动但未解锁时,正在丢失我们的自定义键和值,这是在非常特定的情况下发生的.
语境:
我们正在使用NSUserDefaults
应用程序来存储用户数据(例如用户名).
我们的应用在后台模式启用了位置.
我们只在通过无线方式或通过Testflight进行分发时遇到此问题.如果我使用Xcode将.ipa(同样是通过空中传播的)拖放到我的手机中,我就不会遇到这个问题.
情况:用户安装应用程序,登录并NSUserDefaults
成功存储用户名.然后,用户关闭他们的设备并将其重新打开,让手机在解锁屏幕前坐一会儿.
问题:如果在那个时候触发了重要的位置更改,应用程序将在后台运行,但它NSUserDefaults
是空的(只有来自苹果的一些键,但没有我们的自定义键).然后,NSUserDefaults
无论你做什么,永远不会恢复这些密钥(例如,如果你解锁手机并打开应用程序,你会发现密钥仍然缺失).
任何帮助或想法将是真正的赞赏:)