CloudKit - 无法从 iCloud 检索数据

Posted

技术标签:

【中文标题】CloudKit - 无法从 iCloud 检索数据【英文标题】:CloudKit - Can't retrieve the data from iCloud 【发布时间】:2016-08-12 11:08:14 【问题描述】:

应用程序 (ios9) 通过 Xcode 运行或从 App Store 下载时,通过 CloudKit 从 iCloud 发送和接收数据有什么不同吗?

我的问题是:从 Xcode 启动的应用程序成功接收并显示数据,在 App Store 中发布的同一个应用程序无法显示数据...

可能是什么错误?

谢谢。

func getRecordsFromCloud() 
        // Fetch data using Convenience API
        let cloudContainer = CKContainer.defaultContainer()
        let publicDatabase = cloudContainer.publicCloudDatabase
        let predicate = NSPredicate(value: true)
        let query = CKQuery(recordType: "Pivo", predicate: predicate)
        query.sortDescriptors = [NSSortDescriptor(key: "creationDate", ascending: false)]

        // Create the query operation with the query
        let queryOperation = CKQueryOperation(query: query)
        queryOperation.desiredKeys = ["name", "type", "location"]
        queryOperation.queuePriority = .VeryHigh
        queryOperation.resultsLimit = 50
        queryOperation.recordFetchedBlock =  (record:CKRecord!) -> Void in
            if let restaurantRecord = record 
                self.restaurants.append(restaurantRecord)
            
        

        queryOperation.queryCompletionBlock =  (cursor:CKQueryCursor?, error:NSError?) -> Void in
            if (error != nil) 
                print("Failed to get data from iCloud - \(error!.localizedDescription)")
                return
            

            print("Successfully retrieve the data from iCloud")
            self.refreshControl?.endRefreshing()
            NSOperationQueue.mainQueue().addOperationWithBlock() 
                self.spinner.stopAnimating()
                self.tableView.reloadData()
            

        

        // Execute the query
        publicDatabase.addOperation(queryOperation)
    

【问题讨论】:

您是否使用 cloudkit 仪表板将您的开发环境迁移到生产环境? 我完全忘记了。非常感谢! 【参考方案1】:

您需要使用 CloudKit 仪表板将您的开发环境迁移到生产环境

【讨论】:

一个问题...公共数据库运行良好。私有数据库呢?现在我不用再在 CloudKit Dashboard 中做任何事了吗?

以上是关于CloudKit - 无法从 iCloud 检索数据的主要内容,如果未能解决你的问题,请参考以下文章

iCloud、CloudKit、iOS 8、Apple id

从当前 iCloud 用户获取 CloudKit 记录

是否可以使用 CloudKit 从 iCloud 驱动器获取数据

无法从 Cloudkit Cloud (JS) 检索所有记录

清除/清除 CloudKit 容器的所有用户 iCloud 记录

来自 iCloud/CloudKit 的序列号