WKRefreshBackgroundTask для CloudKit на watchOS?

Итак, на watchOS я знаю, что вы можете запланировать (и перенести) WKRefreshBackgroundTask делать работу для вас в фоновом режиме. Это отлично подходит для моего приложения, чтобы быть уверенным, что на watchOS текущие и актуальные данные, особенно потому, что они не получают такие обновления, как iOS и macOS.

Кроме того, мои данные используют CloudKit для хранения данных пользователя.

Я хочу использовать что-то вроде URLSession сценарий, где вы планируете WKApplicationRefreshBackgroundTask где вы создаете фон URLSession Задача и передать его в систему. Система, в свою очередь, вручает вам WKURLSessionRefreshBackgroundTask где вы проверяете, если ваши данные завершили его URLSession (проверяя, существуют ли загруженные данные).

У меня вопрос, как вы делаете что-то подобное с CloudKit?

Я мог бы просто загрузить данные моего пользователя в WKApplicationRefreshBackgroundTask, но я не думаю, что я гарантирую, что это закончится в то время, когда система отдает мое приложение. Вот почему (кажется) Apple рекомендует разделить это на две фоновые задачи:

  1. WKApplicationRefreshBackgroundTask - создать URLSession и передать его в систему.
  2. WKURLSessionRefreshBackgroundTask - действовать на основании данных, загруженных с шага 1.

Я не уверен, что вы можете сделать это с CloudKit? Или, по крайней мере, я не могу найти что-то в этом роде.

1 ответ

Если вы хотите использовать WKURLSessionRefreshBackgroundTask Вы должны получить доступ к базе данных iCloud через URLSession. Это возможно из приложения, но гораздо сложнее.

Не забудьте получить свой токен запроса API для вашей базы данных на панели инструментов iCloud, если вы хотите попробовать его.

Другие вопросы по тегам