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