Смена токена в Cloudkit не дает всех транзакций - PullRequest
0 голосов
/ 24 февраля 2020

Допустим, последовательность событий go примерно такая

  1. У меня есть токен A для общей базы данных
  2. Записи создаются в общей базе данных
  3. I получить изменения и загрузить новые записи, получить токен B
  4. Я принял новую долю в той же зоне и базе данных
  5. Я беру новую запись (NEW_RE C) из CKShare.Metadata. и сохраняет его, но у меня нет нового токена
  6. Но теперь NEW_RE C удаляется участником
  7. Затем я выбираю новые изменения для зоны и использую токен B, но CK не даст мне знать, NEW_RE C удалено

Я проверил это с помощью панели инструментов, поэтому это не имеет никакого отношения к моему коду.

Это преднамеренно? Я думаю, что алгоритм предназначен для такой работы, потому что он думает, что с точки зрения токена B, NEW_RE C никогда не существовало? Так зачем говорить клиенту, что он удален?

Но это не учитывает, что новая запись получена из метаданных. Я также удивляюсь тому же случаю, если вы использовали CKQuery для получения новых записей, без использования CKFetchRecordZoneChangesOperation, вы страдаете от той же проблемы?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...