CloudKit автоматическое фоновое резервное копирование - PullRequest
1 голос
/ 25 марта 2019

Я сейчас работаю над проектом, который использует CoreData для сохранения данных в swift, и для целей синхронизации я хотел использовать iCloud, и первое, что я подумал, было о реализации CoreData iCloud, но так кактеперь он помечен как устаревший. Я начал использовать CloudKit, и все работает нормально, пока я не попытаюсь сделать резервную копию информации после того, как интернет-соединение будет установлено (в случае сбоя, когда информация должна быть обновлена), приложение не сохраняетфайлы, только данные, все CKRecords работают нормально.

Мои вопросы:

  1. Можно ли синхронизировать информацию после завершения работы приложения?
  2. Подключается ли CloudKit к автоматическомуСинхронизация iCloud, которая происходит, когда устройство подключено и имеет подключение к Интернету.

Текущая структура: CoreData для локального сохранения и извлечения данных, иCloudKit для облачной синхронизации.

Пока я понимаю, что: CloudKit не взаимодействует напрямую с CoreData, и все действия, связанные с синхронизацией данных, должны выполняться с вызовами Api.

Спасибо за вашу помощь, и если я что-то забыл, пожалуйста, дайте мне знать.

1 Ответ

0 голосов
/ 27 марта 2019

1) Когда ваше приложение закрыто, оно не работает, поэтому вы ничего не можете синхронизировать. Вам потребуется перезапустить приложение (возможно, в фоновом режиме?), Но есть некоторые серьезные ограничения на то, что вы можете сделать, чтобы это произошло без вмешательства пользователя. Вот пара потоков, которые могут пролить больше света: Запускать приложение в фоновом режиме автоматически? и Будет ли iOS запускать мое приложение в фоновом режиме, если оно было принудительно завершено пользователем?

2) Из коробки CloudKit ничего не делает «автоматически», он делает то, что вы говорите. Вам нужно будет настроить его запуск в соответствующее время в вашем коде (когда что-то меняется) и в ответ на push-уведомление об изменениях с других устройств.

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