Ios8 Xcode 6 NSUserDefaults不起作用

Ios8 Xcode 6 NSUserDefaults不起作用,ios8,nsuserdefaults,xcode6,Ios8,Nsuserdefaults,Xcode6,在Xcode 6中:NSUserDefaults在设备模拟器(iPhone 5、iPhone 6等,模拟器)中不起作用 如果你在真正的设备上测试,它工作得很完美。有人知道如何将这些信息发送给苹果吗?我试图联系苹果公司,但没有得到答复 我不能在真正的iPhone6或iPhone6 Plus上测试,因为在我的国家还没有 我的代码(就是一个例子)可以在设备上完美运行: NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];

Xcode 6中:
NSUserDefaults
设备模拟器(iPhone 5、iPhone 6等,模拟器)中不起作用

如果你在真正的设备上测试,它工作得很完美。有人知道如何将这些信息发送给苹果吗?我试图联系苹果公司,但没有得到答复

我不能在真正的iPhone6或iPhone6 Plus上测试,因为在我的国家还没有

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

NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];

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

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

} else {

}
也许,我没有清楚地表达自己

在“iPhone o iPad设置”中,用户必须更改应用程序的设置参数

这些设置由“settings.bundle”中的“Root.plist”实现


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


尝试以如下方式保存数据:

NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
[defaults setObject:@"color0" forKey:@"theme_preference"];
[defaults synchronize];
然后稍后再打电话:

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

} else {

}

这是xCode6和ios8现在常见的问题

我发现,每当您遇到NSUserDefaults这个问题时,都会重置模拟器内容和设置

当我从模拟器中删除应用程序时,userdefaults的值没有被清除

然后我重置了我的模拟器,它对我来说运行良好

所以,到目前为止,直到苹果给出了一个解决方案,在模拟器上测试的最好方法是在你想要删除应用的时候重置模拟器


这对我有用。希望对其他人也有帮助。

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

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

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


必须至少访问一次您的应用程序设置。进入菜单中的iOS模拟器,然后单击重置内容设置,现在您的问题应该得到解决。

运行哪个版本的iOS?我发现
NSUserDefaults
存在类似问题。我认为它只是在当前版本中被破坏了:版本6.0.1(6A317)。也许下一个版本会解决这个问题?我希望如此。我的模拟器版本是v8.0(550.1),它不能正常工作-如上所述。和我一样,我花了4个小时的调试来找出模拟器的问题。可能与扩展和读取默认值的新方式有关。稍后我将尝试测试用户更改应用程序的参数。但是在源代码中我没有看到这些变化。我总是谈论设备模拟器(Xcode6),这是不正确的。如果您的默认参数是整数(在示例中),则必须调用它:[defaults integerworkey:@“strokeSize_preference”];这是不正确的:objectForKey