我正在使用iOS 10编写Xcode 8.3,我遵循苹果的云套件快速启动文档来维护云数据的本地缓存,当私有数据库区域中的数据被更改时,我的设备能够接收推送通知,但是当试图获取区域更改时,我总是会收到以下错误:
2017-06-17 11:58:11.376807-0400 MyApp[10694:5029263] received remote notification
2017-06-17 11:58:11.897402-0400 MyApp[10694:5031532] fetch database change completed
2017-06-17 11:58:11.897606-0400 MyApp[10694:5031532] zone deletions
2017-06-17 11:58:12.320908-0400 MyApp[10694:5031561] record zone fetch completed
Error fetching zone changes for private database: <CKError 0x170256620: "Invalid Arguments" (12/2006); server message = "Bad sync continuation data"; uuid = xxxxxxxx-EFD7-459D-xxxx-xxxxxxxxxxx; container ID = "iCloud.com.mycompany.MyApp">
2017-06-17 11:58:12.332247-0400 MyApp[10694:5031561] fetch record zone changes completed
Error fetching zone changes for private database: <CKError 0x174640150: "Partial Failure" (2/1011); "Couldn't fetch some items when fetching changes"; uuid = xxxxxxxx-EFD7-459D-xxxx-xxxxxxxxxxx; container ID = "iCloud.com.mycompany.MyApp"; partial errors: {
PrivateZone:__defaultOwner__ = <CKError 0x170254670: "Invalid Arguments" (12/2006); server message = "Bad sync continuation data">
}>“坏同步延续数据”相当混乱,因为我在苹果的文档中找不到对此错误的解释,也无法在谷歌搜索中找到任何参考。以前有人遇到过这种情况吗?
发布于 2017-06-18 02:52:09
在深入研究了苹果示例中“延续”的含义之后,我意识到问题在于,我只是为在不同获取更改阶段返回的服务器更改令牌保留了一个变量,如fetchDatabaseChanges和fetchZoneChanges方法所示。添加变量来跟踪数据库更改令牌和区域更改标记(每个区域都有自己的)之后,“坏同步继续数据”错误消失了,我可以看到服务器返回的更改记录。
https://stackoverflow.com/questions/44609607
复制相似问题