Purge/Clean CloudKit 容器的所有用户 iCloud 记录
Purge/Clean all user iCloud records for CloudKit container
我们创建了一个 iOS 应用程序,它保存到 CoreData 然后同步到 CloudKit。在测试中,我们还没有找到一种方法来清除应用程序 iCloud 容器中的数据(用于用户私人数据)。只能从我们知道的那里删除。如果我们有同步问题并且出现 'stuck in iCloud',我们不确定如何清除以干净地重新启动。关于如何彻底清理 iCloud 的任何想法。
更新信息:CloudKit 个私人数据库。没有区域。清除应用程序的所有数据以获得全新的开始。应用程序的用户将拥有此控件。
预期结果:从应用程序中,用户可以快速删除他们保存的所有用户数据。
我可能没有问正确的问题或遗漏了什么 - 感谢您的指导。
如果您在 "no zone" 中使用私有数据库,您实际上是在使用默认区域。为了从默认区域中删除所有数据,您需要查询每种记录类型的每个记录 ID 并删除每个结果。这是非常低效的。
我建议您不要在用户的私人数据库中使用默认区域,而是在用户的私人数据库中创建和使用自定义区域。然后,如果您需要删除用户的所有数据,只需删除该区域即可。一次调用,简单高效
我们创建了一个 iOS 应用程序,它保存到 CoreData 然后同步到 CloudKit。在测试中,我们还没有找到一种方法来清除应用程序 iCloud 容器中的数据(用于用户私人数据)。只能从我们知道的那里删除。如果我们有同步问题并且出现 'stuck in iCloud',我们不确定如何清除以干净地重新启动。关于如何彻底清理 iCloud 的任何想法。
更新信息:CloudKit 个私人数据库。没有区域。清除应用程序的所有数据以获得全新的开始。应用程序的用户将拥有此控件。
预期结果:从应用程序中,用户可以快速删除他们保存的所有用户数据。
我可能没有问正确的问题或遗漏了什么 - 感谢您的指导。
如果您在 "no zone" 中使用私有数据库,您实际上是在使用默认区域。为了从默认区域中删除所有数据,您需要查询每种记录类型的每个记录 ID 并删除每个结果。这是非常低效的。
我建议您不要在用户的私人数据库中使用默认区域,而是在用户的私人数据库中创建和使用自定义区域。然后,如果您需要删除用户的所有数据,只需删除该区域即可。一次调用,简单高效