我正在我的应用程序中进行CloudKit同步("微小数据,所有设备"模型,私有数据库中的自定义区域).
CKModifyRecordsOperation包含文档中描述clientChangeTokenData的NSData类型属性,如下所示:
从提取操作修改记录时,请使用此属性指定客户端生成的数据标记,以指示上次修改的记录的版本.比较您在下一次记录提取中提供给数据令牌的数据令牌,以确认服务器已成功接收设备的上次修改请求.
我不明白为什么我应该打扰,因为每个请求,我得到一个完成块,告诉我服务器是否已成功收到我的请求.为什么我需要手动比较此客户端令牌?
是否clientChangeTokenData需要正确处理我的用例?我跟踪本地数据更改并在每次数据更改时推送队列中的所有内容.通过区域订阅跟踪远程更改.
如果需要,我如何正确生成此令牌,因为我的所有记录更改CKModifyRecordsOperation(我的API使用目的是批处理操作).这里的一般工作流程是什么?
谢谢.
我正在开发一款Mac应用程序,它与我的iOS应用程序的iCloud KVS和CloudKit容器一起使用,该容器已经投入生产.当我直接从Xcode运行应用程序时,一切正常.但是,我需要存档>导出并将其移动到该/Applications文件夹,因为这是系统如何选择Safari Extension Companion.
但是当我尝试运行导出的应用程序时,它立即崩溃并在控制台中打印以下错误:
导出应用程序时,我尝试在开发签名应用程序(根据CloudKit文档中的要求)和开发者ID(在上面链接的SO答案中要求)之间选择,也在iCloud开发/生产模式之间进行选择.我尝试重新创建证书和配置文件,确保为我的App ID启用了iCloud(并选择了iOS容器).
当我导出时,有一些标题为"A"的文件夹,我不记得在为我的项目启用iCloud之前使用它们:
我在这里错过了什么?谢谢!