使用 NSUserDefaults 从父级获取数据到 WatchKit

Get Data from Parent to WatchKit with NSUserDefaults

几天以来,我一直在尝试从父级获取一些数据到我的 WatchKitApp。我向父级、WatchApp 和 WatchApp Extension 添加了一个组。然后我使用这段代码将数据保存在 Objective-C:

NSUserDefaults *defaults = [[NSUserDefaults alloc]  initWithSuiteName:@"group.mygroup"];
[defaults setInteger:5 forKey:@"test"];        
[defaults synchronize];

然后我尝试从 Swift 中的 WatchKit 获取数据:

let defaults = NSUserDefaults(suiteName: "group.mygroup")
let integer = defaults!.integerForKey("test")
print("Test \(integer)")

我认为代码和设置是正确的。我不知道我做错了什么。

确保您的套件名称与您已经为您的群组设置的群组名称相符。要查找您的组名称,请转到项目编辑器,select 您的应用程序作为目标并转到功能。展开应用程序组单元格并在那里查找名称。

1:

2:

如果您使用的是 watchOS 2.0,则不再支持共享组,您必须改用 Watch Connectivity 框架。在此处查看我对类似问题的回答:Whosebug。com/questions/30851729/… 我建议现在切换,因为 OS 将在秋季发布。 – rmp 15 小时前

是的,这是我的问题,谢谢 :)