【发布时间】:2026-01-06 16:45:02
【问题描述】:
我正在尝试在我的应用程序和自定义键盘扩展程序之间共享数据。我已经在主应用程序目标和自定义键盘目标中打开了应用程序组。在我的主应用程序中,我添加了一个具有以下内容的对象:
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 中修复
【问题讨论】:
-
我有 XCode 6 beta 5,但问题仍然存在。
标签: ios objective-c nsuserdefaults ios8 ios-app-extension