iOS和WatchOS之间的UserDefaults不起作用

3

以下是代码,但不知何故从手表读取时我得到了nil。你有什么想法吗?

iOS方法编写

@IBAction func writeDefaults(_ sender: Any) {
    UserDefaults(suiteName: "group.testingGroups")!.set(true, forKey: "myKey")
}

从WatchOS读取数据

@IBAction func readDefaults() {
    let readKey = UserDefaults(suiteName: "group.testingGroups")!.bool(forKey: "myKey")
    print("Key Value:  \(readKey)")
}

我在阅读时也尝试了以下方法,但是没有任何效果...
 let readKey = UserDefaults.init(suiteName: "group.testingGroups")!.bool(forKey: "myKey")

苹果开发者网站:

进入图像描述

WatchAppExtension:

进入图像描述

WatchApp:

进入图像描述

iOS 项目:

进入图像描述

1个回答

4

使用userDefaults进行watchKit和app之间的通信已被移除。
可以使用watchConnectivity框架来完成。


哦,好的,我以为watch connectivity框架用于大量数据交换,而userdefaults仍然有效。苹果公司有没有通知说明已将其删除?谢谢。 - fs_tigre
1
是的,它在watchOS 2中被移除了,因为自从watchOS 2以后,应用程序在手表上运行而不是iPhone上。 - Abhra Dasgupta
好的,我会查看它。非常感谢。 - fs_tigre

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接