【发布时间】:2015-10-14 19:02:25
【问题描述】:
我的应用有以下目标:
- iOS 应用
- 今日扩展
- Apple Watch 应用
- Apple Watch 扩展程序
所有这些目标都具有“应用组”功能,并选择了正确的组。在主 iOS 应用程序中,我像这样同步设置:
NSUserDefaults * sharedDefaults = [[NSUserDefaults alloc]initWithSuiteName:@"group.foo.bar"];
if([sharedDefaults respondsToSelector:@selector(setObject:forKey:)]){
// Example Value
[sharedDefaults setObject:@"TestString" forKey:@"TestString"];
[sharedDefaults synchronize];
}
Today Extension 使用以下方法获取设置,效果很好:
NSUserDefaults * defaults = [[NSUserDefaults alloc] initWithSuiteName:@"group.foo.bar"];
NSLog(@"String: %@", [defaults stringForKey:@"TestString"]);
// String: TestString
手表扩展程序使用与今天扩展程序相同的代码行来获取设置,但是它不起作用。在控制台中我看到String: (null)。我做错了什么?
【问题讨论】:
标签: ios objective-c