这是一个会影响许多应用程序的问题,可以在 Xcode 8 beta (8S128d) 中找到。这是第一个 Beta 版,尽管它没有标记为 beta 1。
问题出在 NSUserDefaults 上;它不起作用。这是代码,也许可以将其放入application:didFinishLaunchingWithOptions:
.
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
[defaults setValue:@"hello world" forKey:@"TEST"];
[defaults synchronize];
NSString * oops = [[NSUserDefaults standardUserDefaults] valueForKey:@"TEST"];
NSLog(@"default = %@", oops);
在 Xcode 7 及更早版本中,此代码按预期工作:oops
是“你好世界”。
在 Xcode 8 中,该值oops
is nil
.
这可真是太重大了!
找到了答案:https://forums.developer.apple.com/message/143155#143155
如果您使用过 Xcode 7 或更早版本,则需要在运行 iOS 10 模拟器之前重新启动 Mac。
从发行说明来看:
WWDC Seed:运行多个 iOS 模拟器
可能会导致 NSUserDefaults 无法工作
运行 iOS 8 或 9 模拟器
随后运行 iOS 10 模拟器将导致 NSUserDefaults 停止
在模拟器中工作。这可以通过重新启动来解决
主机麦克。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)