NSUserDefaults不在iOS 8中的应用程序和自定义键盘之间存储值

我正在尝试在我的应用程序和自定义键盘扩展之间共享数据.我在主应用程序目标和自定义键盘目标中打开了App Groups.在我的主应用程序中,我添加一个具有以下内容的对象:
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.有什么想法吗?

UPDATE
在Xcode 6 beta 5中修复

解决方法

一些可能的解决方案是:

>您的应用程序组设置不正确,或者您没有在initWithSuiteName中使用正确的组标识符:
>您尚未为键盘启用网络访问权限.当您为键盘禁用网络访问时,This document将声明以下内容(认行为):

No shared container with containing app

>这是一个错误.

相关文章

UITabBarController 是 iOS 中用于管理和显示选项卡界面的一...
UITableView的重用机制避免了频繁创建和销毁单元格的开销,使...
Objective-C中,类的实例变量(instance variables)和属性(...
从内存管理的角度来看,block可以作为方法的传入参数是因为b...
WKWebView 是 iOS 开发中用于显示网页内容的组件,它是在 iO...
OC中常用的多线程编程技术: 1. NSThread NSThread是Objecti...