【发布时间】:2015-08-24 08:37:04
【问题描述】:
在 watchOS 2 中,您似乎无法从手表扩展本身访问 WatchKit 设置包中的数据,因为它现在在手表而不是主机 iPhone 上运行。 here提出的一个解决方案是读取iPhone上的数据,然后传输到手表上。
我的问题是,我不仅可以从手表读取数据,甚至可以从手机读取数据。在 ViewController.m 中,我有以下代码来获取开关的值:
NSUserDefaults *userDefaults = [[NSUserDefaults alloc] initWithSuiteName:@"group.de.iossoftware.SocialAppDataSharing"];
NSLog(@"%d", [[[NSUserDefaults alloc] initWithSuiteName:@"group.de.iossoftware.SocialAppDataSharing"] boolForKey:@"key_here"]);
即使启用了设置包中的开关,它也始终返回“0”。
我正在使用应用程序组,并确保在设置包和 iPhone 应用程序中使用相同的标识符:
为什么我无法通过手机访问捆绑数据?
【问题讨论】:
-
也许是个假问题,但你添加了[默认同步];最后?
-
不,这没有帮助。
-
但是您可以在 NSUserdefaults 中添加和保存其他值,例如 NSNumber 并读取它?键的方法值是否返回保存除 BOOL 以外的其他值的东西?
-
在前一行设置值,然后读取它可以正常工作。从设置包中读取也不适用于字符串等其他类型。它只返回“(null)”。
标签: ios objective-c iphone watchkit apple-watch