Итак, на watchOS я знаю, что вы можете запланировать (и перепланировать) WKRefreshBackgroundTask
для выполнения работы в фоновом режиме. Это отлично подходит для моего приложения, чтобы быть уверенным, что на watchOS текущие и актуальные данные, особенно если оно не получает обновления, такие как iOS и macOS.
Кроме того, мои данные используют CloudKit для хранения данных пользователя.
Я хочу использовать что-то вроде сценария URLSession
, где вы планируете WKApplicationRefreshBackgroundTask
, где вы создаете фоновую задачу URLSession
и передаете ее в систему. Система, в свою очередь, передает вам WKURLSessionRefreshBackgroundTask
, где вы проверяете, завершили ли ваши данные свой URLSession
(проверяя, существуют ли загруженные данные).
Мой вопрос: как вы делаете что-то подобное с CloudKit?
Я мог бы просто загрузить данные моего пользователя в WKApplicationRefreshBackgroundTask
, но я не думаю, что я гарантирую, что это закончится в то время, когда система отдает мое приложение. Вот почему (кажется) Apple рекомендует разделить это на две фоновые задачи:
WKApplicationRefreshBackgroundTask
- для создания URLSession
и передачи его в систему.
WKURLSessionRefreshBackgroundTask
- для обработки данных, загруженных с шага 1.
Я не уверен, что вы можете сделать это с CloudKit? Или, по крайней мере, я не могу найти что-то в этом роде.