2016-04-19 3 views
1

В моем приложении я хотел бы синхронизировать данные между моими устройствами. Я могу получить изменения, попросив сущности с modificationDate больше чем что-то ... Таким образом, я получаю все новые и объекты-модификаторы с определенной даты. Пока все хорошо.Инкрементная синхронизация с использованием CloudKit -> Как получить уведомление об удаленных записи

Теперь пользователи смогут удалять объекты. Каков наилучший способ использования CloudKit для получения этих идентификаторов записи? Там в любом случае? Есть ли способ запросить идентификаторы записей, которые были удалены с определенной даты?

Или я смогу только архивировать это с помощью мягкого удаления?!?

ответ

2

Если вы храните локальный кэш всех элементов, используйте CKFetchRecordChangesOperation.

Эта функциональность буквально построена для «когда вы поддерживаете локальный кеш ваших данных записи и периодически синхронизируете этот кеш с сервером» и предоставляет измененные записи и удаленные идентификаторы записей.

Заметим, однако, что он работает только в нестандартных зонах, что означает, что он не будет работы:

  • в публичной базе данных (которая не поддерживает пользовательские зоны)
  • в зона по умолчанию для частной базы данных

Вам необходимо создать пользовательскую зону в частной базе данных с помощью CKModifyRecordZonesOperation.

Если вы храните личные данные пользователя, это путь.

0

Вы можете получить информацию об изменениях данных с подписками CloudKit API