微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

>这是一个错误.

原文地址:https://www.jb51.cc/iOS/330283.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐