WKRefreshBackgroundTask для CloudKit на watchOS? - PullRequest
0 голосов
/ 30 октября 2018

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

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

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

Мой вопрос: как вы делаете что-то подобное с CloudKit?

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

  1. WKApplicationRefreshBackgroundTask - для создания URLSession и передачи его в систему.
  2. WKURLSessionRefreshBackgroundTask - для обработки данных, загруженных с шага 1.

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

1 Ответ

0 голосов
/ 03 ноября 2018

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

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

...