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 仪表板未更新的主要内容,如果未能解决你的问题,请参考以下文章