你好,所以我按照这个教程。https:/medium.commetter-programmingdata-persistence-cloudkit-b12e575bd85c。我按照一步一步的步骤,但我得到这个错误,当我保存。Record Not Savedthis is my code:
import UIKit
import CloudKit
import MobileCoreServices
class CloudKitViewController: UIViewController {
@IBOutlet var textfield: UITextField!
let privateDatabase = CKContainer.default().privateCloudDatabase
var titles = [String]()
var recordIDs = [CKRecord.ID]()
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view.
}
@IBAction func saveBtn(_ sender: Any) {
let title = textfield.text!
let record = CKRecord(recordType: "Note")
record.setValue(title, forKey: "title")
privateDatabase.save(record) { (savedRecord, error) in
if error == nil {
print("Record Saved")
} else {
print("Record Not Saved")
}
}
}
有人能帮助:)编辑。
这可能是 iCloud 容器的设置问题。您可以在CloudKit Dashboard中检查。你需要确保你已经创建了一个包含 "标题 "键的 "笔记 "记录类型。
同时确保在Xcode的应用程序功能部分启用了CloudKit。
您可以尝试打印实际的错误,以获得更多信息来帮助调试。
let record = CKRecord(recordType: "Note")
record["title"] = title // Try setting the value using subscripting (it has worked for me)
privateDatabase.save(record) { (savedRecord, error) in
if error == nil {
print("Record Saved")
} else {
print(error.localizedDescription)
}
}
有更多关于 CKError
在 文件.
此外,如果您正在使用 CloudKit Dashboard 来检查值是否已保存,请务必刷新它。