CloudKit 仪表板未更新

Posted

技术标签:

【中文标题】CloudKit 仪表板未更新【英文标题】:CloudKit Dashboard not updating 【发布时间】:2018-08-20 09:08:33 【问题描述】:

我正在制作一个应用程序来存储每个用户的 cmets,然后将它们显示在我的应用程序中。 (就像餐厅评分应用程序一样)但是,当用户输入评论并点击提交时,仪表板上似乎没有任何内容。

每个记录类型都设置为可查询,但是当我单击查询结果时,它给了我一个错误,我应该将我的索引设置为可查询。

这是我的代码。(Swift)

@IBAction func OnSubmitTouched(_ sender: UIButton) 
    if (textField.text != "")

        let newComment = CKRecord(recordType: "Comment")
        let publicDB = CKContainer.default().publicCloudDatabase
        newComment.setValue(textField.text!, forKey: "comment")
        CKContainer.default().fetchUserRecordID  recordID, error in
            guard let recordID = recordID, error == nil else 
                // error handling magic
                return
            

            //let userID = CKContainer fetchUserRecordIDWithCompletionHandler:
            publicDB.save(newComment)
                rec ,err in
                if let error = err 

                    print(err.debugDescription)
                    return
                

                publicDB.fetch(withRecordID: recordID)  record, error in
                    guard let record = record, error == nil else 
                        // show off your error handling skills
                        print(rec!["comment"]!)
                        return
                    
                    print("The user record is: \(record)")
                
            
        

        let predicate = NSPredicate(value: true)
        let query = CKQuery(recordType: "Comment", predicate: predicate)
        let operation = CKQueryOperation(query: query)

        var commentRecords: [CKRecord] = []

        operation.recordFetchedBlock =  record in
            commentRecords.append(record)
        

        operation.queryCompletionBlock =  cursor, error in
            print(commentRecords)
        

        CKContainer.default().publicCloudDatabase.add(operation)

【问题讨论】:

【参考方案1】:

嗯... CloudKit 非常适合在保存失败时告诉您。您的任何错误是否返回任何内容?

另外,CKContainer.default() 返回的容器 ID 是否与您在仪表板中查看的容器 ID 相同?

我要检查的最后一件事是您是否在 ios 设备和 CloudKit 仪表板上使用相同的 Apple ID,以便查看相同用户的数据?

【讨论】:

以上是关于CloudKit 仪表板未更新的主要内容,如果未能解决你的问题,请参考以下文章

未收到来自 CloudKit 订阅的推送通知

Cloudkit 私有数据库未显示

未收到CloudKit推送通知

tvOS 中的 CloudKit 订阅

CloudKit 订阅未在 iOS10 上保存

在 CloudKit 仪表板中创建布尔字段