Xcode 6 NSUserDefaults不起作用

时间:2014-09-19 08:27:16

标签: ios8 nsuserdefaults xcode6

Xcode 6 NSUserDefaults无法在设备模拟器(iPhone 5,iPhone 6等模拟器)中使用。

如果您在真实设备上进行测试,它可以完美运行。有人知道如何将此信息发送给Apple?我曾尝试联系Apple,但我没有收到答案。

我无法在真正的iPhone6或iPhone6 Plus 上进行测试,因为我的国家尚不可用。

我的代码(就是一个例子)在设备上运行得很完美:

NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];

NSString *appTheme = [defaults objectForKey:@"theme_preference"];

if ([appTheme isEqualToString:@"color0"]) {

} else {

}

可能我没有表达清楚。

用户,在" iPhone o iPad设置"必须更改应用程序的设置参数。

设置由" Root.plist"实现。 " Settings.bundle"。

也就是说,我尝试测试用户更改应用程序的参数。但在源代码中我没有看到这些变化。 我总是谈论设备模拟器(Xcode6)

App Settings

5 个答案:

答案 0 :(得分:2)

今天我终于解决了这个问题。我已经安装了最新的Xcode(版本6.1),然后我重置了模拟器。

然后我访问了我的设置App。在打开应用程序的设置之前,不会在模拟器(或实际设备)中复制设置

必须至少访问一次您的应用设置。

答案 1 :(得分:0)

尝试保存这样的数据:

NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
[defaults setObject:@"color0" forKey:@"theme_preference"];
[defaults synchronize];

然后再打电话:

NSString *appTheme = [defaults objectForKey:@"theme_preference"];
if ([appTheme isEqualToString:@"color0"]) {

} else {

}

答案 2 :(得分:0)

这是xCode6和ios8的常见问题。

我发现只要您遇到NSUserDefaults这个问题,就会重置模拟器内容和设置。

当我从模拟器中删除应用程序时,未清除userdefaults的值。

然后我重置我的模拟器,它对我来说很好。

截至目前,直到苹果公司对此进行了修复,在模拟器上进行测试的最佳方法是在需要删除应用程序时重置模拟器。

它对我有用。希望它也可以帮助别人。

答案 3 :(得分:0)

这是iOS模拟器的一个bug,你应该去iOS模拟器>重置内容和设置以重置设备。

答案 4 :(得分:0)

转到菜单中的iOS模拟器,然后点击重置内容设置,现在问题就解决了。