ios8扩展和容器应用程序如何共享数据

ios8扩展和容器应用程序如何共享数据,ios,ios8,ios-app-extension,Ios,Ios8,Ios App Extension,我无法在iOS 8扩展和容器应用程序之间共享数据。 我从develop portal和Xcode建立了这个组,我的权利列表如下所示: <dict> <key>com.apple.security.application-groups</key> <array> <string>my group id</string> </array> </dict> 圣诞老人

我无法在iOS 8扩展和容器应用程序之间共享数据。 我从develop portal和Xcode建立了这个组,我的权利列表如下所示:

<dict>
    <key>com.apple.security.application-groups</key>
    <array>
        <string>my group id</string>
    </array>
</dict>
圣诞老人的解决方案在模拟器上运行,但在我的iPhone4S上不起作用,关于如何在真正的设备上运行有什么想法吗?还是我遗漏了什么

一些更新:

[[NSFileManager defaultManager] containerURLForSecurityApplicationGroupIdentifier:@"group id"];
函数返回url,容器应用程序和扩展程序中的url看起来相同,如“path/private/var/mobile/Containers/Shared/AppGroup/3DFB9750-A9F3-4C37-BC3C-0D5BF746B‌​233".
我从container应用程序在该文件夹中创建了一个json文件,但当我在该设备上运行时,扩展在该文件夹中找不到任何文件。但在模拟器中,它发现一切正常,一切正常

这个问题只出现在自定义键盘上,iOS8 beta 2修复了这个问题

我的解决方案是编辑自定义键盘的Info.plist:

NSExtension->NSExtensionAttributes->RequestsOpenAccess

是的


然后删除设备中的键盘并重新添加。在键盘添加页面中,您将找到一个名为“允许完全访问”的设置,启用它,键盘将访问共享数据。

对于键盘扩展,请确保启用请求启用访问作为heheBear的答案
偶尔尝试从设置/Keyoboard中删除并添加回键盘

键盘扩展不稳定,性能非常差,因为beta 4,包括beta 5,我可以确认它也可以在设备上工作。请尝试卸载应用程序并重新安装。谢谢,我尝试了卸载,但在设备上仍然不起作用。请确认在两个应用程序权限和
NSUserDefaults
初始化中键入的组id完全相同。它们都是一样的,运气不好:(看看是否有效。你不必使用它,但它会显示应用程序组的设置是否正确。iOS 8 beta 5在真实设备上仍然不起作用,只在类似iOS GM sill这样的模拟器上起作用。在模拟器上工作,但没有设备!在模拟器上工作,但同样的事情不在设备上工作。知道为什么吗?很好!!我花了这么长时间才找到它。)什么不起作用…你知道从扩展中检测设置值的方法吗?@heheBear这在模拟器上对我有效,但在真实设备上不起作用。有什么建议吗?在我的情况下(共享扩展)不起作用,我在plist中添加了它,但在真实设备上没有显示,只在模拟器上工作
[[NSFileManager defaultManager] containerURLForSecurityApplicationGroupIdentifier:@"group id"];