woo*_*oof 8 ios ios8 ios-app-extension
我无法在iOS 8扩展程序和容器应用程序之间共享数据.我从开发门户网站和Xcode设置了这个组,我的权利包括:
<dict>
<key>com.apple.security.application-groups</key>
<array>
<string>my group id</string>
</array>
</dict>
Run Code Online (Sandbox Code Playgroud)
苹果文档中建议使用的解决方案 [[NSUserDefaults standardUserDefaults]
不适合我.
我已经尝试过@Santa Claus在这篇文章中使用App Group进行通信和持久化数据的解决方案
[[NSUserDefaults alloc] initWithSuiteName:@"<group identifier>"];
Run Code Online (Sandbox Code Playgroud)
圣诞老人的解决方案适用于模拟器但不适用于我的iPhone 4s,有关如何使其在真实设备上运行的任何想法?或者我错过了什么?
一些更新:
[[NSFileManager defaultManager] containerURLForSecurityApplicationGroupIdentifier:@"group id"];
Run Code Online (Sandbox Code Playgroud)
函数返回url,来自容器app和扩展名的两个url看起来都相同,如" path/private/var/mobile/Containers/Shared/AppGroup/3DFB9750-A9F3-4C37-BC3C-0D5BF746B 233".我在容器应用程序中的该文件夹中创建了一个json文件,但是当我在设备上运行时,扩展程序无法在文件夹中找到任何文件.但在模拟器中,它找到了很好,一切正常.
小智 20
我的解决方案是编辑我的自定义键盘的Info.plist:
NSExtension - > NSExtensionAttributes - > RequestsOpenAccess
是的.
然后删除设备中的键盘并重新添加.在键盘添加页面中,您将找到名为"允许完全访问"的设置,启用它,键盘将访问共享数据.
| 归档时间: |
|
| 查看次数: |
14237 次 |
| 最近记录: |