gpt4 book ai didi

ios - NSUserDefaults(套件名称 :) on iOS 9 and WatchOS 2 - not working?

转载 作者:搜寻专家 更新时间:2023-10-30 22:06:58 24 4
gpt4 key购买 nike

我以前做过,但似乎没有任何效果。这是我的代码:

在 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

App Groups 功能已打开,并且在两个目标上都选中了适当的组。

现在,当我在 watch 上运行读取代码时,objectForKey 返回 nil,但它适用于 iOS(设备和模拟器结果相同)。

我错过了什么!?

最佳答案

在 watchOS 2 中,您需要记住有 2 个不同的进程在运行:

  1. Apple Watch 流程
  2. iPhone 进程

这两个进程都有自己的沙箱,这就是他们称之为“本地”的原因,因此如果您尝试使用共享的 NSUserDefaults,它将无法工作,因为 Apple Watch 应用程序与主机 iPhone 应用程序具有完全不同的沙箱。

如果您想将手机中的内容保存到 Apple Watch Target 上的 NSUserDefaults:

使用 WatchConnectivity 将您要保存的数据发送到 watch 。然后当 watch 收到你发给它的数据时,保存到Apple watch默认的NSUserDefaults中。

关于ios - NSUserDefaults(套件名称 :) on iOS 9 and WatchOS 2 - not working?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32367244/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com