未保存记录的Cloudkit

问题描述 投票:0回答:1

你好,所以我按照这个教程。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")

                    }

                }

     }

有人能帮助:)编辑。

enter image description here

ios swift xcode cloudkit
1个回答
0
投票

这可能是 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 来检查值是否已保存,请务必刷新它。

© www.soinside.com 2019 - 2024. All rights reserved.