小编mp3*_*821的帖子

当手机重新启动但未解锁时,NSUserDefaults会丢失其键和值

我们目前正在使用我们的iPhone应用程序遇到以下奇怪的问题.正如标题所说,NSUserDefaults当手机重新启动但未解锁时,正在丢失我们的自定义键和值,这是在非常特定的情况下发生的.

语境:

  • 我们正在使用NSUserDefaults应用程序来存储用户数据(例如用户名).

  • 我们的应用在后台模式启用了位置.

  • 我们只在通过无线方式或通过Testflight进行分发时遇到此问题.如果我使用Xcode将.ipa(同样是通过空中传播的)拖放到我的手机中,我就不会遇到这个问题.

情况:用户安装应用程序,登录并NSUserDefaults成功存储用户名.然后,用户关闭他们的设备并将其重新打开,让手机在解锁屏幕前坐一会儿.

问题:如果在那个时候触发了重要的位置更改,应用程序将在后台运行,但它NSUserDefaults是空的(只有来自苹果的一些键,但没有我们的自定义键).然后,NSUserDefaults无论你做什么,永远不会恢复这些密钥(例如,如果你解锁手机并打开应用程序,你会发现密钥仍然缺失).

任何帮助或想法将是真正的赞赏:)

background reboot core-location nsuserdefaults ios

38
推荐指数
2
解决办法
1万
查看次数

标签 统计

background ×1

core-location ×1

ios ×1

nsuserdefaults ×1

reboot ×1