【发布时间】:2018-06-26 21:31:48
【问题描述】:
我正在尝试使用CKModifyRecordsOperation 保存CKRecord,每次尝试时,都会收到以下初始错误:
["CKErrorDescription": 部分记录修改失败,
“CKPartialErrors”:{ "CKRecordID: 0x60c000034000; recordName=ABC, zoneID=workspaceZone:DEF" = "CKError 0x60c000257340: \"批量请求失败\" (22/2024); \"记录CKRecordID: 0x7fb2f6998a60; recordName=ABC, zoneID=workspaceZone:DEF 将不会被保存,因为之前在 atomic zone 中的错误\""; },
“NSDebugDescription”:CKInternalErrorDomain:1011,“NSUnderlyingError”:CKError 0x60c000248af0:“部分故障”(1011); “修改部分记录失败”;部分错误:{ ... 1 “批量请求失败” CKError 被省略 ... },
“NSLocalizedDescription”:修改部分记录失败]
然后我像这样解析批次的各个错误:
if let errorItems = error.partialErrorsByItemID {
for item in errorItems{
if let itemError = item.value as? CKError{
print("::: Individual Error in Batch :::")
print(itemError)
print(":::::")
}
}
}
但所有个别错误都是:
CKError(_nsError: CKError 0x60c000257340: "Batch Request Failed" (22/2024); "Record CKRecordID: 0x7fb2f6998a60; recordName=GHI, zoneID=workspaceZone:JKL 将不会被保存,因为之前在 atomic zone 中的错误")
CloudKit 服务器日志只是说它是一个 BAD_REQUEST,这也不是很有帮助。
有没有办法获得更多关于我的记录出了什么问题的详细信息?
【问题讨论】:
-
Clifton,您能否尝试找出导致此错误的记录,并从那里找出问题所在? 22/2024 的意义是什么?您是否正在修改 2024 条记录?可能是记录 22 有问题吗?一个疯狂的猜测?让我知道?这里给出的其他细节是什么? GHI? JKL?也指?这是否有助于您更接近问题?
-
我终于能够通过删除我的区域并重新创建它来完成这项工作。我认为它以某种方式损坏了,因为我的一种记录类型不接受新的记录创作。在删除记录类型,创建它,删除区域,然后再次创建它之后,它又可以工作了。这可能会发生很奇怪(也很可怕)!
-
很好,但出于兴趣...有 2024 条记录吗?
-
不,我在所有记录类型中总共只有大约 15 条记录。