我正在尝试在我的应用程序和自定义键盘扩展之间共享数据。我已经在主应用程序目标和自定义键盘目标中打开了应用程序组。在我的主应用程序中,我添加了一个具有以下内容的对象:
NSUserDefaults *userDefaults = [[NSUserDefaults alloc] initWithSuiteName:@"group.mycompany.myapp"];
[userDefaults setObject:someObject forKey:@"KEY"];
在控制台中打印出 [userDefaults dictionaryRepresentation] 表明该对象已被保存,调用 [userDefaults objectForKey:@"KEY"] 也是如此。
但是,当我尝试在自定义键盘扩展中访问此对象时:
NSUserDefaults *userDefaults = [[NSUserDefaults alloc] initWithSuiteName:@"group.mycompany.myapp"];
NSString *value = [userDefaults objectForKey:@"KEY"];
该值为 nil 并且对 [userDefaults dictionaryRepresentation] 的调用不会显示上面保存的条目。我在 Xcode 6 beta 3 上。有什么想法吗?
更新 已在 Xcode 6 beta 5 中修复