我正在尝试订阅iCloud更改,但我不断收到internal sever error
。保存和支持来自iCloud的数据有效,但我无法获取或保存订阅。
任何人都知道可能是什么问题?
答案 0 :(得分:0)
我发现了这个问题。在涉及错误时,CloudKit的记录非常糟糕。在尝试使用尚不存在的记录类型尝试订阅记录更改时,您会收到内部服务器错误。很奇怪,希望它能帮助将来的某个人!
答案 1 :(得分:0)
我还注意到,一旦遇到错误,后续对CloudKit的调用似乎无声地失败。也许它是正常的iOS行为,如果设置它我需要重置错误代码。也许其他人可以评论。
答案 2 :(得分:0)
在添加subscriptionID之前,订阅工作正常。然后我开始收到"内部服务器错误"。我正在使用这个功能:
let subscription = CKQuerySubscription(recordType: kActionFigureSpecificsRecord,
predicate: predicate,
subscriptionID: subscriptionId,
options: [.firesOnRecordCreation, .firesOnRecordUpdate, .firesOnRecordDeletion])
subscriptionID 订阅的唯一名称。该字符串在指定的数据库中必须是唯一的,并且不能为nil。
阅读完文档之后,我意识到subscriptionID需要是唯一的,尽管文档并没有特别清楚地表明相对于什么。我相信唯一的标准是关于其他数据库ID.names,例如其他recordID.recordName。我的subscriptionID字符串与用于相关记录的订阅的表的recordID.recordName具有相同的值。当我将_Subscription附加到subscriptionID字符串(即名称)时,订阅注册正常。