我已经看到了一些关于此的问题,并尝试了提供的所有答案,但这仍然对我不起作用。
我试图在我的 iPhone 应用程序和它的 WatchKit 扩展之间共享几个小数据(字符串和布尔值)。(如果有任何区别,WK 应用程序的 GlanceController 正在读取信息)
通过开发者网站,我创建了一个应用程序组 (group.com.theYawns.Sorcerers-Apprentice)。如果我查看“应用程序 ID”,我的应用程序(com.theYawns.Sorcerers-Apprentice)似乎有两个相同的 ID,外加一个用于扩展程序的 ID(com.theYawns.Sorcerers-Apprentice.watchkitextension)。每个都启用了“应用程序组”(用于开发和分发),如果我编辑应用程序 ID,则会选择应用程序组。
我已经为应用程序和扩展程序打开了“应用程序组”功能。一个问题我会定期 - 一天几次,但不是每次构建 - 如果我进入并查看“功能”选项卡,我有一个红色的感叹号,表示“将应用程序组”权利添加到您的权利文件中。如果我查看权利文件,权利就在那里,如果我单击“修复问题”,红色感叹号将变为复选标记。但是,每天需要多次执行此操作的事实让我担心出了点问题。
我已经多次在 XCode 首选项下刷新了我的配置文件,虽然我没有在权利下看到应用程序组图标,但如果我将鼠标悬停,我确实会在弹出的工具提示中看到应用程序组。
在我的应用程序和扩展程序中,我通过
NSUserDefaults *sharedAppDefaults = [[NSUserDefaults alloc] initWithSuiteName:@"group.com.theYawns.Sorcerers-Apprentice"];
我还尝试[sharedAppDefaults synchonize]
在每次写入之后和 WatchKit 尝试读取之前添加一个,以防万一事情没有被清除。(没有任何区别)。
我的 WatchKit 扩展包 ID 与我的 iPhone App 包 ID 不同,这是我在不同线程上看到的答案之一。
我还添加了一个 NSTimer 以每 10 秒刷新一次,因此如果在获取更改时存在时间问题,我希望它在一两个更新周期后自行解决,但事实并非如此。
真的很难过......似乎其他人已经通过其他线程的答案解决了他们的问题,但没有一个对我有用。
我搜索过的其他主题包括: