我将我的一个项目调整以支持沙盒化,以符合苹果的要求。我使用UserDefaults来实现:
[[NSUserDefaults standardUserDefaults] setObject:@(myNumber) forKey:myNumberKey];
[[NSUserDefaults standardUserDefaults] synchronize];
在启用沙盒功能之前,所有内容都按预期工作。但是,如果我启用沙盒功能,应用程序将在其沙盒目录(.plist.lockfile)中创建一个锁定文件,并且不会创建实际的.plist文件。
我错过了什么,如何在沙盒环境下将设置存储在UserDefaults中?
更新:在另一台Mac上安装了最新版本的Xcode的10.7.3 - 启用沙箱的同一项目编译并正常运行。
此外,我尝试在不同的用户帐户(全新创建)下运行此项目,结果完全相同 - 无法正常运行。现在,我认为问题出在特定Mac的系统配置上。问题是 - 是否可以安全地假设只有我遇到这个奇怪的问题?可能不会...
[[NSUserDefaults standardUserDefaults] registerDefaults:defaultValues];
。 - Daniel