这在 watchOS 1 上不是问题,但现在在 watchOS 2 上我无法读取手表扩展上的值。
根据Apple docs,这是可能的。根据该线程上的某些人的说法,这是可能的。根据此线程上的 Apple 员工的说法,这是可能的。
据我所知,我正在正确设置所有内容:
- 我在 iOS 应用程序和具有相同标识符的手表扩展上启用了应用程序组。
- 我将 Settings-Watch.bundle 添加到 iOS 应用程序并将
ApplicationGroupContainerIdentifier
具有相同标识符的添加到 plist
当我使用标识符作为套件名称初始化NSUserDefaults
对象时,我无法读取手表扩展上的值。我可以在 iOS 应用程序上阅读它们。这发生在模拟器和真实设备中。
请不要发布有关如何使用 Watch Connectivity 执行此操作的答案。在没有 Watch Connectivity 的情况下,仅使用 watchOS 2 上的共享应用程序组就可以做到这一点,人们可以做到这一点,这里直接来自文档:
在 watchOS 2 中,您的 WatchKit 扩展可以读取首选项的值,但您不能写入新值。watchOS 2 中的首选项会从 iOS 转发到 Apple Watch,但您所做的任何修改都不会发送回 iOS。