Я создаю приложение iOS с помощью CloudKit.
Он должен позволять пользователю добавлять, редактировать и удалять Products
в облаке. Пользователь может организовать их в папках. Эти папки представляют собой только другие типы записей в облачном виде. Не существует ограничений на уровни папки, которые пользователь может использовать, так как любая папка может просто удерживать CKReference
родительскую папку Folder. Вся связь CloudKit в моем приложении происходит в выделенном классе CloudKitController
Все это работает, но перестает работать через некоторое время без какой-либо ясной причины.
Когда я тестирую свое приложение, у меня даже нет пользовательских папок, которые имеют несколько уровней. Однако, после использования его в течение (до недели), все удаленные записи появляются снова на CloudKit. Несколько замечаний по этому поводу:
- Когда я reset панель инструментов CloudKit и начинаю все заново, она работает отлично. Никаких изменений кода не было.
- Очевидно, что я постоянно редактирую код, поскольку приложение находится в разработке. Однако я вообще не редактирую типы данных в своем коде, которые должны храниться в CloudKit. Когда я это делаю, этот вопрос не возникает позже.
- Изменения в облачной панели CloudKit (например, добавление типов данных) не вызывают этой проблемы.
- Я не сохраняю записи локально, как в основных данных. Они просто сидят в синглете, пока я их использую.
- Когда я перехожу в панель CloudKit Dashboard, тип записи продукта показывает, что он имеет, например, 13 случаев. Иногда это так плохо, что мое приложение на самом деле загружает более 100. Я также могу видеть их, когда я иду в recordZone, но все же RecordType говорит, что он имеет только 13 экземпляров
- Удаление этих записей в CloudKit Dashboard только заставляет их исчезать некоторое время. Когда я перезагружаю страницу, они снова появляются.
Это происходит уже некоторое время, и я проверял свой код, библиотеку Apple и Google много раз, но не могу понять, что вызывает эту проблему.
Вопрос: Кто-нибудь знает что-нибудь о том, как преодолеть эту проблему? Как я уже сказал, я работал в этом несколько недель, и сброс моей панели CloudKit только "исцеляет" ее до недели, а затем снова появляется. Я также был бы более чем счастлив опубликовать любой код, если это поможет вам ответить на мой вопрос. Вначале я не размещал какой-либо код, так как я не знаю, какой код может вызвать это.
Любой ответ будет высоко оценен