【发布时间】:2016-03-08 02:40:08
【问题描述】:
我遇到了一种奇怪的情况,即 NSUserDefaults 在真实设备上运行良好,但在我们拥有的特定 Mac 的模拟器上却不行。
registerDefaults 工作正常:
NSUserDefaults.standardUserDefaults().registerDefaults(["Default1": 3, "Default2: false])
如果我运行NSUserDefaults.standardUserDefaults().dictionaryRepresentation(),这些默认值会包含在字典中。
但是,setObject 不起作用
NSUserDefaults.standardUserDefaults().setObject("abc", for Key: "ABC")
NSUserDefaults.standardUserDefaults().synchronize()
NSUserDefaults.standardUserDefaults().objectForKey("ABC") 在模拟器上总是返回 nil。
Mac 的这个问题是将 El Capitan 作为 Jenkins CI 服务器(作为启动代理)运行,我尝试在不同版本的模拟器(9.2、8.4...等)上运行该应用程序没有任何运气所以远的。有什么想法吗?
【问题讨论】:
-
setValue方法怎么样,行得通吗? -
@Wongzigii
setValue也不行。 -
密钥区分大小写。
-
您是否尝试过删除并重新安装 Xcode 以及该 Mac 上 Library 文件夹中的所有 Xcode 相关文件?
-
@DaveBatton 是的,尝试完全删除 xcode 并重新安装,仍然无法正常工作。
标签: ios xcode jenkins nsuserdefaults simulator