首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在CKRecord和CKShare中保存CKModifyRecordsOperation错误

在CKRecord和CKShare中保存CKModifyRecordsOperation错误
EN

Stack Overflow用户
提问于 2016-11-16 20:19:54
回答 2查看 475关注 0票数 1

我正在尝试保存一个CKRecord (已经创建并保存到数据库中)和一个新的CKShare到它,但是我一直得到这个错误:可选的(“未能修改一些记录”)。这是我的代码:

代码语言:javascript
复制
    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。有人能解释一下为什么会发生这种事吗?

提前感谢!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-11-18 19:56:26

这样啊,原来是这么回事

您所要做的就是创建一个私有的自定义CKZone并将您的CKRecord和CKShare保存在其中,您不能使用云工具包提供给您的默认区域!

票数 3
EN

Stack Overflow用户

发布于 2021-03-09 12:33:00

要保留共享记录,必须从共享数据库中删除CKShare记录,否则会出现错误。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40641562

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档