如何在cloudkit上存储数据
Posted
技术标签:
【中文标题】如何在cloudkit上存储数据【英文标题】:How to store data on cloudkit 【发布时间】:2019-01-05 06:16:52 【问题描述】:我已经成功在cloudkit上存储了一个应用的数据,但是当我尝试存储第二个应用时,出现了这样的错误:
"CKError 0x600001 d719b0:"权限失败"(10/2007);服务器 message ="不允许创建操作"; UUID = D41B3F33-102B-411D-9CE7-183CD04569DA;容器 ID = iCloud.com.codery.ntd>"
这是我的代码:
let now = Date()
let timeInterval:TimeInterval = now.timeIntervalSince1970
let timeStamp = Int(timeInterval)
let publicDB = CKContainer.default().publicCloudDatabase
let bookID = CKRecord.ID(recordName: "\(timeStamp)")
let book = CKRecord(recordType: "Book", recordID: bookID)
book.setValue("Swift", forKey: "name")
publicDB.save(book) savedRecord , error in
if error == nil
print("success")
else
print(error)
【问题讨论】:
CREATE operation not permitted的可能重复 您使用的是同一个云套件容器吗?通常,您会为每个应用程序获得一个唯一的容器;并且您需要在第二个应用程序中指定它要使用为第一个应用程序创建的容器。我不记得了,但是您可能还需要在打开它时在代码中指定。 【参考方案1】:这可能就是答案。
Possible to set default CloudKit container not based on application name?
let container = CKContainer(identifier: "iCloud.com.kukodajanos.Dating")
let publicDB = container.publicCloudDatabase
let privateDB = container.privateCloudDatabase
此处显示的标识符对于两个应用程序是否相同。
【讨论】:
以上是关于如何在cloudkit上存储数据的主要内容,如果未能解决你的问题,请参考以下文章