7

我刚刚在 Xcode 9 beta 6 中创建了一个项目并添加了以下代码:

let privateDB = CKContainer.default().privateCloudDatabase
let greatID = CKRecordID(recordName: "GreatPlace")
let place = CKRecord(recordType: "Place", recordID: greatID)

privateDB.save(place) { (record, error) in
        if error != nil {
            let er = (error as! CKError).errorUserInfo
            print("Error: \n")
            print("CKErrorDescription: \(er["CKErrorDescription"]!)\n")
            print("ContainerID: \(er["ContainerID"]!)\n")
            print("NSDebugDescription: \(er["NSDebugDescription"]!)\n")
            print("NSUnderlyingError: \(er["NSUnderlyingError"]!)\n")
            print("NSLocalizedDescription: \(er["NSLocalizedDescription"]!)\n")
            print("ServerErrorDescription: \(er["ServerErrorDescription"]!)\n")
        }
        if record != nil {
            print("record: \(record!)")
        }
 }

并添加此功能:

在此处输入图像描述

当我运行代码时,我收到此错误消息:

在此处输入图像描述

我做错了什么?

4

3 回答 3

12

有一个错误导致一些关联被遗漏。该错误已修复,我们自动修复了在此期间损坏的容器/应用程序关联。

如果由于某种原因您仍然需要重做关联,您可以使用 Xcode 中的 Capabilities 窗格或使用 developer.apple.com -> Certificates, Identifiers & Profiles -> App IDs -> pick the ID -> Edit -> Edit under iCloud -> 选中要取消关联、保存然后重新关联的容器的框。

如果您仍然遇到问题,请发送电子邮件至 cloudkit[at]apple.com

于 2017-09-14T02:35:55.467 回答
0

我和我的朋友有同样的问题。我们制作了 2 个不同的项目,它们都有相同的错误消息“容器的捆绑包 ID 无效”,即CKError case 10

我们正在调用我们的 fetch 函数来获取 viewDidLoad 中的默认“Users”记录。

func fetchWorkoutCompleted(completion: @escaping (Error?) -> Void = { _ in }) {
    cloudKitManager.fetchRecord(ofType: "Users", sortDescriptors: nil) { (records, error) in
        if let error = error {
            print(error.localizedDescription)
            completion(error)
            return
        }
        guard let records = records else { completion(nil); return }
        completion(nil)
    }
}
于 2017-09-12T15:35:52.163 回答
0

使用 Xamarin.IOS,我不得不在 info.plist 文件中选择手动配置而不是自动配置。

于 2021-04-08T05:20:59.230 回答