Смена токена в Cloudkit дает не все транзакции
Допустим, последовательность событий выглядит так
- У меня есть токен A для общей базы данных
- Записи создаются в общей базе данных
- Я получаю изменения и загружаю новые записи, получает токен B
- Я принял новую акцию в той же зоне и базе данных
- Я беру новую запись (NEW_REC) из CKShare.Metadata и сохраняю ее, но у меня нет нового токена
- Но теперь NEW_REC удаляется участником
- Затем я запрашиваю новые изменения для зоны и использую токен B, но CK не сообщает мне, что NEW_REC удален.
Я тестировал это с помощью панели инструментов, поэтому это не имеет ничего общего с моим кодом.
Это намеренно? Я думаю, что алгоритм предназначен для такой работы, потому что он считает, что с точки зрения токена B NEW_REC никогда не существовало? Так зачем говорить клиенту, что он удален?
Но при этом не учитывается, что новая запись была получена из метаданных. Меня также интересует тот же случай, если вы использовали CKQuery для получения новых записей, без использования CKFetchRecordZoneChangesOperation, страдаете ли вы от той же проблемы?