gpt4 book ai didi

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

转载 作者:可可西里 更新时间:2023-11-01 03:04:49 25 4
gpt4 key购买 nike

我在 iOS 8 扩展程序和容器应用程序之间共享数据时遇到问题。我从开发门户和 Xcode 设置了组,我的权利 plist 看起来像:

<dict>
<key>com.apple.security.application-groups</key>
<array>
<string>my group id</string>
</array>
</dict>

苹果文档中建议的解决方案使用[[NSUserDefaults standardUserDefaults]

不适合我。

我已经尝试了@Santa Claus 这篇文章中的解决方案 Communicating and persisting data between apps with App Groups使用

[[NSUserDefaults alloc] initWithSuiteName:@"<group identifier>"];

圣诞老人的解决方案在模拟器上有效,但在我的 iPhone 4s 上无效,关于如何使其在真实设备上工作有什么想法吗?还是我遗漏了什么?

一些更新:

[[NSFileManager defaultManager] containerURLForSecurityApplicationGroupIdentifier:@"group id"];

函数返回 url,容器应用和扩展的 url 看起来相同,如“path/private/var/mobile/Containers/Shared/AppGroup/3DFB9750-A9F3-4C37-BC3C-0D5BF746B‌ 233” 。我从容器应用程序在该文件夹中创建了一个 json 文件,但是当我在设备上运行时,扩展程序无法在该文件夹中找到任何文件。但是在模拟器中它发现它很好并且一切正常。

最佳答案

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

NSExtension -> NSExtensionAttributes -> RequestsOpenAccess

同意。

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

关于ios8扩展和容器应用如何共享数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24067975/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com