SwiftUi CloudKit记录修改失败,无法保存“不允许写操作”

问题描述

我似乎无法在公共数据库中获取某些记录以进行修改。错误是“将记录 defaultOwner >保存到服务器时出错:不允许写操作”。我不明白为什么它说不允许写,因为我在仪表板上检查了所有正确的安全角色。我还确认了它在尝试修改记录之前已登录到Icloud。这个

// MARK: - Modify Updates in Cloudkit
static func modifyUpdates(item: pushNote,completion: @escaping (Result<pushNote,Error>) ->
    ()) {
    guard let recordID = item.recordID else { return }
    CKContainer.default().publicCloudDatabase.fetch(withRecordID: recordID) { (record,err) in
        DispatchQueue.main.async {
            if let err = err {
                completion(.failure(err))
                return
            }
            guard let record = record else { return }
            
            
            record["updates"] = item.updates as CKRecordValue
            
            CKContainer.default().publicCloudDatabase.save(record) { (record,err) in
                DispatchQueue.main.async {
                    if let err = err {
                        completion(.failure(err))
                        return
                    }
                    guard let record = record else { return }
                    let id = record.recordID
                    guard let updts = record["updates"] as? [String] else { return }
                    guard let boss = record["bossID"] as? String else { return }
                    
                    let element = pushNote(recordID:id,bossID: boss,updates : updts)
                    completion(.success(element))
                }
            }
        }
    }
}

解决方法

保存安全角色更改需要花费一些时间才能发挥作用。对我来说像10分钟。我建议不要单击“保存太多”。注销并重新登录,看看是否确实保存了。

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...