我们有一个应用程序可以将记录同步到CloudKit。它们存储在自定义区域中。我们需要提供一个功能来从CloudKit中“清除所有数据”。由于记录的数量可能很多,我们不想单独或批量删除它们(可能是很多批处理)。所以我们直接删除自定义区域。区域已成功删除,但记录仍显示在CloudKit仪表板中。这是预期的吗? 最佳答案 正如文档所说,您所做的应该是正确的:Deletingarecordzonealsodeletesanyrecordsitcontains.但是你在CloudDashboard中看到的应该是那些缓存的记录导致的,这些记录在
在我的CloudKit应用程序中,我在存储所有CKRecords的私有(private)数据库中创建了一个区域。CKRecords可以是10种不同的记录类型,其中一些可以附加CKAssets。我使用CKFetchRecordZoneChangesOperation查找此区域中的记录更改,并下载它们。我想优化CKFetchRecordZoneChangesOperation以便我在下载中只包含desiredKeys,所以我当时不下载CKAsset,但似乎没有以任何方式指定每个记录类型。相反,您似乎只能在CKFetchRecordZoneChangesOptions上指定desiredKe
设想:我有一个CKRecord我从服务器中获取的。该记录存在于我为此的自定义区域内不是知道标识符,没有CKRecordZone对象的。我需要打电话CKDatabase.perform(query:inZoneWith:completion:)要获取数据库中的记录,该记录是root共享记录的组件(需要调用)CKRecordZoneID(来自aCKRecordZone)我被迫迭代每个CKRecordZone在共享数据库中并执行查询,直到找到匹配记录为止。总结:我想参加CKRecord并找到CKRecordZone它存在。这可能吗?或者我的方法有缺陷吗?我可以执行query没有CKRecordZon
我一直在摆弄CloudKit有一段时间了,但我找不到如何使用CKRecordZone的真实示例。我了解它们的功能(即,对记录进行分组,尤其是对于订阅),但是有人有使用过它们的真实经验,并映射出哪个概念吗?谢谢 最佳答案 AppleNews应用程序使用私有(private)数据库中的两个区域来存储用户信息:ReadingList和ReadingHistory。ReadingList存储已添加书签的新闻文章ID;ReadingHistory存储已阅读的新闻文章ID。通过将文章ID分成两个不同的区域,可以有效地同步它们。例如,如果一篇文章