ios - 修改CKRecords时出现CloudKit错误:“Zone Busy”

标签 ios cloudkit

这是一段代码,其中我正在修改用户 private CloudKit DB上的一些记录。

    let op = CKModifyRecordsOperation(recordsToSave: recordsToModify, recordIDsToDelete: [])
    op.savePolicy = CKRecordSavePolicy.ChangedKeys
    op.modifyRecordsCompletionBlock = { saved, deleted, err in
        println("modified all ... \(saved.count) w err '\(err)' \(err != nil ? err.userInfo : [:])")
    }
    self.privateDB.addOperation(op)

通常,这很不错:
 modified all ... 284 w err 'nil' Optional([:])

但是我时不时地得到以下输出:
 modified all ... 0 w err '<CKError 0x7f9210e92840:"Zone Busy" (23/2029);
    "Zone busy">' Optional([NSDebugDescription: CKInternalErrorDomain: 2029,
    NSLocalizedDescription: Zone busy, NSUnderlyingError: <CKError 0x7f9210ea7dd0:
    "Unknown Error" (2029)>])

我假设这对CloudKit来说是个小问题-但是我怎么检测到呢?我应该如何处理?

最佳答案

该错误表示您的请求很好,但是云服务器过载了处理请求。您应该等待一段时间后再尝试操作。在WWDC 2014视频231-Advanced CloudKit即将结束时也提到了这一点。

一些其他信息可以在这里找到:CloudKit Framework Constants Reference

关于ios - 修改CKRecords时出现CloudKit错误:“Zone Busy”,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30224117/

相关文章:

ios - 是否可以使用 AVAudioPlayer 和 initWithData :error: to play generated sounds?

ios - 来自 com.apple.xpc.activity.com.apple.cloudkit.scheduler.com.apple.coredata.cloudkit.activity.export 的 EXC_BAD_INSTRUCTION

ios - 存储空间已满时将应用程序数据保存到用户的 iCloud(CloudKit)?

ios - 共享 CloudKit 容器如何分配数据使用量?

ios - Cloudkit 中的准时模式

ios - setImageWithURL AFNetworking 成功处理程序的问题

iphone - 在 UIButtons 上从服务器加载多个图像??

ios - 密码保护 iPhone 应用程序

ios - 处理平移手势的最佳方式

ios - 从 customCell 访问 IBOutlet 到 ViewController