Как использовать запросы наблюдателя Healthkit с фоновой доставкой, не запрашивая разрешения у пользователей, не являющихся гражданами Гонконга?

Пользователи этого приложения могут выбрать, хотят ли они использовать функции Healthkit (они не нужны для работы приложения). Я хотел бы настроить запрос наблюдателя для отправки данных на сервер в фоновом режиме.

Согласно документации Apple по этой ссылке: https://developer.apple.com/documentation/healthkit/hkobserverquery/executing_observer_queries

Если вы планируете поддерживать фоновую доставку, настройте все запросы наблюдателя в приложении делегата вашего приложения:didFinishLaunchingWithOptions: method. Настраивая запросы в application:didFinishLaunchingWithOptions:, вы гарантируете, что запросы созданы и готовы к использованию до того, как HealthKit доставит обновления.

Насколько я понимаю, настройка ваших запросов наблюдателя в методе application:didFinishLaunchingWithOptions: означает, что мне придется запрашивать у пользователей разрешения при первом запуске. Можно ли настроить фоновую доставку из другого места? Например, могу ли я сделать это одновременно с запросом разрешений у пользователей?

Спасибо!

1 ответ

Один из возможных потоков:

  • В didFinishLaunching, проверьте наличие логического значения, указывающего, что пользователь одобрил интеграцию HealthKit. Если это true затем вызовите функцию для настройки запросов наблюдателя.

  • В момент выполнения вашего приложения, когда пользователь указывает, что он хочет предоставить доступ к данным HealthKit, запрашивает разрешение и затем задает логическое значение в UserDefaults как только у вас будет разрешение.

  • На этом этапе вы также должны вызвать свою функцию, чтобы настроить запросы наблюдателя, чтобы вы начали получать данные.

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