我正在使用CloudKit构建iOS应用程序。已删除的CloudKit记录重新出现
它应该允许用户在云中添加,编辑和删除Products
。用户可以在文件夹中组织这些文件。这些文件夹只是cloudkit中的其他记录类型。用户可以使用的文件夹级别没有限制,因为任何文件夹都可以只持有CKReference
到其父文件夹。我的应用程序中的所有CloudKit通信都发生在专用的CloudKitController类中
这一切都有效,但在没有明确原因的一段时间后停止工作。
当我测试我的应用程序时,我甚至没有使用多级深度的文件夹。但是,使用一段时间(最多一周)后,所有已删除的记录似乎都会重新出现在CloudKit上。有几点关于此:
- 当我重置我的CloudKit仪表板并重新开始,它的工作完美。没有更改代码。
- 很明显,我在编写应用程序时经常编辑我的代码。但是,我通常不会编辑要存储在CloudKit中的代码中的数据类型。当我这样做时,这个问题不会在后来出现
- CloudKit仪表板中的更改(例如添加数据类型)不会导致此问题
- 不在本地存储任何记录(如在核心数据中)。只要我使用它们,它们就会坐在一个单例中
- 当我转到CloudKit Dashboard时,产品记录类型显示它具有13个实例。有时候它太糟糕了,我的应用程序实际上加载了100多个。我还可以在进入recordZone时看到它们,但RecordType表示它只有13个实例
- 在CloudKit Dashboard中删除这些记录只会使它们消失而。当我重新加载页面时,它们再次弹出。
它已经这样一段时间了,我已经检查了我的代码,苹果图书馆和谷歌很多次,但我无法弄清楚是什么原因造成这个问题。
问题: 有人会知道如何解决这个问题?正如我所说的,我已经遇到了这个问题好几个星期了,重置我的CloudKit仪表板只能“治愈”它长达一周的时间,然后再次弹出。如果这能帮助你回答我的问题,我也会很乐意发布任何代码。我最初没有发布任何代码,因为我不知道代码可能会导致这种情况。
任何答复将高度赞赏
我一直有完全相同的问题。我一直试图删除其中一种记录类型,但记录在一段时间后仍然会回来,这是有问题的,因为记录类型实际上发生了变化(记录类型cloudkit显示实际上忽略了旧的和旧的新)。有多混乱。 – Narwhal
很高兴知道,至少我不是唯一一个。在您的情况下,在您的应用程序或数据库中执行特定任务后会出现此问题吗? – Joris416
我一直在搞乱一堆,所以我不确定。无论如何,我完全重置了数据库,并且自那以后我一直在努力。但是,如果已经保存了大量数据(迄今为止,我保存的任何内容都很重要并且可以清除),我不愿意这么做。 – Narwhal