Ios CloudKit错误“;“坏集装箱”;(5/1014); &引用;不能';t从服务器获取容器的容器配置";iCloud.com.abc.def“&引用&燃气轮机;

Ios CloudKit错误“;“坏集装箱”;(5/1014); &引用;不能';t从服务器获取容器的容器配置";iCloud.com.abc.def“&引用&燃气轮机;,ios,cloudkit,Ios,Cloudkit,我是云工具包新手,有人能帮我解决这个错误吗?因为我正试图在我的公共数据库中实现添加一个记录,并得到这个错误 “坏集装箱”(5/1014);无法从服务器获取容器“iCloud.com.abc.def”的容器配置 谢谢。这是您的应用程序的捆绑ID吗?Xcode在服务器上使用当前应用程序的绑定ID创建一个容器。仔细检查应用程序的捆绑ID,然后按照中的说明设置容器。请确保已正确初始化容器。您可以再次检查容器列表中是否有您的容器 使用CKContainer.defaultContainer()调用或更具体

我是云工具包新手,有人能帮我解决这个错误吗?因为我正试图在我的公共数据库中实现添加一个记录,并得到这个错误

“坏集装箱”(5/1014);无法从服务器获取容器“iCloud.com.abc.def”的容器配置


谢谢。

这是您的应用程序的捆绑ID吗?Xcode在服务器上使用当前应用程序的绑定ID创建一个容器。仔细检查应用程序的捆绑ID,然后按照中的说明设置容器。

请确保已正确初始化容器。您可以再次检查容器列表中是否有您的容器


使用
CKContainer.defaultContainer()
调用或更具体的
CKContainer(标识符:字符串)
initialiser初始化容器。请记住,CloudKit容器ID通常采用
iCloud.
,其中
是应用程序的捆绑ID。因此,问题的根源可能是您试图在不同的应用程序之间共享一个容器,但忘记添加
iCloud。
前缀。

我解决了将我的新应用程序包重命名为与CloudKit中的容器名称相同的名称的问题


它不应该这样工作,因为根据设计,许多应用程序都可以访问同一个容器,但显然在CloudKit dashboard或开发者帐户中无法“向容器添加新的捆绑ID”.

CKOperation
添加到自定义
OperationQueue
时,如果未定义操作的
数据库属性,也可能发生此错误

在使用数据库的某个操作(例如:catch、fetch)时捕获错误,尝试调试此问题

例如:

let publicDatabase = CKContainer.default().publicCloudDatabase
                    publicDatabase.save(record) { (rec, err) in
                       
                        if let error = err {
                            
                            print("Error while saving record: \(error)")
                            
                        }
或者改用调试器

Apple CloudKit容器的标识符可能与
CKContainer.default()
容器标识符不匹配。您可以通过选择容器标识符来更正此问题

let myPublicDatabase = CKContainer.init(identifier: "iCloud.com.abc.def").publicCloudDatabase

CKContainer ID不等于应用程序包ID,因为它有“iCloud.”前缀。此外,允许应用访问中指定的多个容器,因此容器ID根本不需要与bundle ID有任何相似之处