CloudKit 权限失败 [关闭]

Posted

技术标签:

【中文标题】CloudKit 权限失败 [关闭]【英文标题】:CloudKit Permissions Failure [closed] 【发布时间】:2016-06-15 23:27:45 【问题描述】:

我在运行我的应用程序时收到以下消息:

> "Permission Failure" (10/2007); server
> message = "com.company.ipadApp is not a valid Bundle ID for
> container iCloud.com.company.app"; uuid =
> xx; container ID =
> "iCloud.com.company.app">

我创建了一个 iPhone 应用程序,然后为 iPad 应用程序创建了另一个目标,并让它使用相同的 CloudKit 容器 - 我检查了开发人员面板上的应用程序 ID 并将容器分配给新的 iPad 应用程序 ID,但由于某种原因,它仍然告诉我我有一个“权限失败”!

如何让我的 iPad 应用使用与 iPhone 应用相同的容器?

【问题讨论】:

【参考方案1】:

这可能应该是一个评论,但我没有足够的声誉来评论,所以我把它放在这里。我认为 CloudKit 现在存在问题 - 请参阅此线程:https://forums.developer.apple.com/thread/49003。

当我搜索 CloudKit 并将结果限制在过去 24 小时内时,出现的唯一结果是错误...

【讨论】:

看起来问题出在 Apple 方面的 CloudKit - 我没有更改任何内容,突然间一切正常!【参考方案2】:

有同样的问题。看起来像Apple的服务器端错误。 尝试在开发者门户的 AppID 设置中再次取消关联和关联 iCloud 容器。几分钟后,一切都应该工作了。

【讨论】:

【参考方案3】:

我认为你只需要做两个步骤,

    选择容器

    接下来是当你想在应用内使用容器时确保你使用

    let container = CKContainer(identifier: "iCloud.com.THE ONE YOU WANT TO USE")
    let publicDB = container.publicCloudDatabase
    

在你的第一个应用中

    let container = CKContainer.defaultContainer()

【讨论】:

您好,感谢您的回答,但是我已经完成了这些步骤 - 在 Objective-c 中我有(对于第 2 步):CKDatabase *publicDatabase = [[CKContainer containerWithIdentifier:@"iCloud.com. company.myapp"] publicCloudDatabase]; - 仍然出现权限错误! 您还采取了哪些其他步骤?你有什么改变吗? 我将其他所有内容保持不变 - 我使用相同的视图控制器,并检查查询是否由于此权限错误而返回零结果。我将不得不做更多的挖掘,看看.. 我会创建一个空白应用程序并从头开始,看看是否可以连接它们。 要访问公共数据库,请使用 let publicDB = CKContainer(identifier: "iCloud.com.THE ONE YOU WANT TO USE").publicCloudDatabase

以上是关于CloudKit 权限失败 [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

Cloudkit 公共数据库错误:“不允许写入操作”

CloudKit fetchRecordWithID 错误:“获取资产失败”

CloudKit Dashboard 权限不足

即使正确设置了所有权限,Cloudkit 也会不断给出创建权限错误

使用 CloudKit 获取用户记录 ID 失败

如何在 CloudKit 中撤销用户可发现性权限?