保存在iOS应用程序中
let groupDefaults = NSUserDefaults(suitename: "group.company.appSharedDefaults")groupDefaults?.setobject(theArray,forKey: "theKey")groupDefaults?.synchronize()
阅读(适用于iOS但不适用于WatchOS 2)
let groupDefaults = NSUserDefaults(suitename: "group.company.appSharedDefaults")if groupDefaults!.objectForKey("theKey") != nil { textEmojiArray = NSMutableArray(array: groupDefaults!.objectForKey("theKey") as! NSArray)} else { //error}
两个.enTitlements文件都包含group.company.appSharedDefaults
已打开应用程序组功能,并在两个目标上检查了相应的组.
现在,当我在监视对象上运行读取代码时,objectForKey返回nil,但它在iOS上有效(设备和模拟器结果相同).
我错过了什么!?
解决方法 在watchOS 2中,您需要记住,有2个不同的进程在运行:> Apple Watch Process
> iPhone流程
这两个进程都有自己的沙箱,这就是为什么他们称之为“本机”,所以如果你尝试使用共享的NSUserDefaults它将无法工作,因为Apple Watch应用程序的沙箱与主机iPhone应用程序完全不同.
如果您想将手机中的内容保存到Apple手表上的NSUserDefaults目标:
使用WatchConnectivity将要保存的数据发送到手表.然后当手表收到您发送给它的数据时,将其保存到Apple手表的默认NSUserDefaults.
总结以上是内存溢出为你收集整理的iOS 9和WatchOS 2上的NSUserDefaults(suiteName :) – 无法正常工作?全部内容,希望文章能够帮你解决iOS 9和WatchOS 2上的NSUserDefaults(suiteName :) – 无法正常工作?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)