Can';无法通过应用程序扩展访问我的“CKContainer”中的任何数据-CloudKit,Swift
我想通过应用程序扩展(更具体地说是手表应用程序)从CloudKit访问一些数据 在我的主应用程序中,我只需创建如下容器:Can';无法通过应用程序扩展访问我的“CKContainer”中的任何数据-CloudKit,Swift,swift,icloud,cloudkit,ios-app-extension,bundle-identifier,Swift,Icloud,Cloudkit,Ios App Extension,Bundle Identifier,我想通过应用程序扩展(更具体地说是手表应用程序)从CloudKit访问一些数据 在我的主应用程序中,我只需创建如下容器:CKContainer(标识符:“myContainerID”),然后调用私有数据库上的任何方法 在我的应用程序扩展中,我使用完全相同的代码创建了一个容器,但当我尝试调用私有数据库上的方法时,我遇到以下错误: 我还加倍检查了我是否拥有所有正确的iCloud权利 我也看到了这个问题,但我已经在使用解决方案: 谢谢你的帮助 我今天花了一整天的时间试图修复,终于成功了。我发现:云容
CKContainer(标识符:“myContainerID”)
,然后调用私有数据库上的任何方法
在我的应用程序扩展中,我使用完全相同的代码创建了一个容器,但当我尝试调用私有数据库上的方法时,我遇到以下错误:
我还加倍检查了我是否拥有所有正确的iCloud权利
我也看到了这个问题,但我已经在使用解决方案:
谢谢你的帮助 我今天花了一整天的时间试图修复,终于成功了。我发现:云容器ID中的姓氏必须与产品目标ID和应用程序名称(plist文件中的CFBundleName值)匹配。这是默认情况下在info.plist中设置的方式:
<key>CFBundleName</key>
<string>$(PRODUCT_NAME)</string>
更改完成后,您需要将新容器添加到您的应用程序ID中,并重新创建配置文件,因为它们将无效。创建新概要文件后,只需下载它们并导入Xcode/签名和功能
请注意,苹果官方文档确实表示建议使用应用程序名称,但他们从未说过这是强制性的,也是使其正常工作的唯一方法
苹果似乎已经在他们这边解决了这个问题 无论如何,谢谢你的帮助:)
iCloud.com.company.abc