【发布时间】:2015-03-16 16:06:04
【问题描述】:
我已经看到了几个关于此的问题,并尝试了提供的所有答案,但这仍然不适合我。
我正在尝试在我的 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"];
我还尝试在每次写入之后和我的 WatchKit 尝试读取之前添加一个 [sharedAppDefaults synchonize],以防万一事情没有被清除。 (没有任何区别)。
我的 WatchKit 扩展包 ID 与我的 iPhone App 包 ID 不同,这是我在不同线程上看到的答案之一。
我还添加了一个 NSTimer 以每 10 秒刷新一次,因此如果在获取更改时出现时间问题,我希望它在一两个更新周期后自行解决,但事实并非如此。
真的很难过......似乎其他人已经通过其他线程的答案解决了他们的问题,但没有一个对我有用。
我搜索过的其他主题包括:
【问题讨论】:
标签: iphone xcode nsuserdefaults watchkit ios-app-group