我看到这种奇怪的行为,这似乎特定于我的具体设备或我的建筑环境(我的同事在构建相同的代码时没有这个问题)。每次我从NSUserDefaults
中的Xcode数据启动应用程序都消失了。当我杀死应用程序并重新启动它时也会发生同样的情况。
我尝试重新启动Xcode,我的笔记本电脑,设备,清理项目和派生数据 - 没有任何帮助。更新数据后我会调用synchronize()
,因此应该保留它。但事实并非如此。我在控制台中没有看到任何错误。
这个问题的原因是什么?我该怎么做才能解决它?这是由一些花哨的隐藏项目设置引起的吗?
我还想知道数据是在重启时重置还是在调用synchronize()
时未保存。我可以检查保存NSUserDefaults
的文件内容吗?
更新:一个有趣的细节。在模拟器中杀死应用程序后,我无法再次从Xcode启动它(获取“The operation couldn’t be completed. (LaunchServicesError error 0.)
”)。我必须使用iOS Simulator -> Reset Content and Settings
才能再次在模拟器中运行应用程序。
更新2 :我尝试按照建议here找到iPhone模拟器存储NSSharedPreferences
的文件,但它不存在。
答案 0 :(得分:2)
没有花哨的设置可以禁用持久存储到NSUserDefaults中,但是,您需要考虑的几个注意事项:
答案 1 :(得分:0)
尝试创建一个新的“单一视图应用程序”,并添加您用于在NSUserDefault
中didFinishLaunchingWithOptions
中保存数据的代码。看看问题是否仍然存在。