Ios CloudKit问题:未找到所需的记录类型 我的情况: 在我的CloudKit仪表板中,我在私有数据的默认区域中设置了一条记录,用于测试从iCloud下载数据的功能 问题是,我的iPhone模拟器或通过Xcode翻译到手机上的应用程序没有出现错误 但是当我将我的应用程序发布到TestFlight时,从TestFlight下载的应用程序出现错误,没有找到所需的重新编码类型

Ios CloudKit问题:未找到所需的记录类型 我的情况: 在我的CloudKit仪表板中,我在私有数据的默认区域中设置了一条记录,用于测试从iCloud下载数据的功能 问题是,我的iPhone模拟器或通过Xcode翻译到手机上的应用程序没有出现错误 但是当我将我的应用程序发布到TestFlight时,从TestFlight下载的应用程序出现错误,没有找到所需的重新编码类型,ios,swift,icloud,cloudkit,Ios,Swift,Icloud,Cloudkit,值得一提的是,CardModel是CloudKit仪表板中的重编码类型 我的代码: 检查代码后,我发现错误是由self.privateDB.performQuery(query,inZoneWithID:nil)提交的。errorupdateing()是它的类的协议部分中的函数 我的问题: 为什么我在Xcode翻译的应用程序和从TestFlight下载的应用程序之间得到了不同的结果 我知道我需要显示更多的代码,但我不知道系统的哪个部分发生了错误。CloudKit还是iCloud的认证

值得一提的是,
CardModel
是CloudKit仪表板中的
重编码类型

我的代码:

检查代码后,我发现错误是由
self.privateDB.performQuery(query,inZoneWithID:nil)
提交的。
errorupdateing()
是它的类的协议部分中的函数


我的问题:
  • 为什么我在Xcode翻译的应用程序和从
    TestFlight
    下载的应用程序之间得到了不同的结果
  • 我知道我需要显示更多的代码,但我不知道系统的哪个部分发生了错误。CloudKit还是iCloud的认证

非常感谢你的指导和回答


Ethan Joe

您是否在CloudKit仪表板中将数据从开发区部署到生产区?我认为TestFlight需要生产数据库,而不是开发

您是否在CloudKit Dashboard中将数据从开发区域部署到生产区域?我认为TestFlight需要生产数据库,而不是开发

好吧……我真的不知道。我真蠢,回宿舍后我会改正的。谢谢。从开发部署到生产,还是一样的错误。有什么提示吗?如果你使用私有数据库,你在Xcode和TestFlight中使用的是同一个用户吗?啊,我的错,我误解了“部署”的含义,而不是真正单击部署按钮,我只是切换了开发/生产视图!好吧……我真的不知道。我真蠢,回宿舍后我会改正的。谢谢。从开发部署到生产,还是一样的错误。有什么提示吗?如果你使用私有数据库,你在Xcode和TestFlight中使用的是同一个用户吗?啊,我的错,我误解了“部署”的含义,而不是真正单击部署按钮,我只是切换了开发/生产视图!
   let delegate = UIApplication.sharedApplication().delegate as! AppDelegate
   let predicate = NSPredicate(value: true)
   let query = CKQuery(recordType: "CardModel", predicate: predicate)
   self.privateDB.performQuery(query, inZoneWithID: nil) {
        results, error in
        if error != nil {
            dispatch_async(dispatch_get_main_queue()) {
                self.delegate?.errorUpdating(error)
                println("error loading: \(error)")
            }