我正在尝试保存一个CKRecord (已经创建并保存到数据库中)和一个新的CKShare到它,但是我一直得到这个错误:可选的(“未能修改一些记录”)。这是我的代码:
let csc = UICloudSharingController { controller, preparationCompletionHandler in
let share = CKShare(rootRecord: user)
share[CKShareTitleKey] = "My Share" as CKRecordValue
share.publicPermission = .readWrite
let mro = CKModifyRecordsOperation(recordsToSave: [user, share], recordIDsToDelete: nil)
mro.timeoutIntervalForRequest = 10
mro.timeoutIntervalForResource = 10
mro.modifyRecordsCompletionBlock = { records, recordIDs, error in
if error != nil {
print("ERROR IN MODIFY RECORDS COMPLETION BLOCK\n")
print(error?.localizedDescription)
}
preparationCompletionHandler(share,CKContainer.default(), error)
}
privateData.add(mro)
}
csc.availablePermissions = [.allowPrivate,.allowReadWrite]
self.present(csc, animated:true)
}问题在于这个方法: modifyRecordsCompletionBlock。有人能解释一下为什么会发生这种事吗?
提前感谢!
发布于 2016-11-18 19:56:26
这样啊,原来是这么回事
您所要做的就是创建一个私有的自定义CKZone并将您的CKRecord和CKShare保存在其中,您不能使用云工具包提供给您的默认区域!
发布于 2021-03-09 12:33:00
要保留共享记录,必须从共享数据库中删除CKShare记录,否则会出现错误。
https://stackoverflow.com/questions/40641562
复制相似问题