Какова цель HKHealthStore.isHealthDataAvailable?

Для настройки HealthKit Фреймворк Apple рекомендует следующий способ:

  1. включить HealthKit возможности в Xcode.
  2. Проверьте, доступен ли HealthKit на устройстве, позвонив isHealthDataAvailable метод.
  3. Если HealthKit и включен и доступен, создать экземпляр HKHealthStore объект.
  4. Запросить авторизацию у пользователя для чтения и публикации HealthKit данные.

Мой вопрос связан с шагом 2.

HealthKit доступно как 8.0 и выше, и этот метод, конечно, имеет такую ​​же доступность. В iPad, в котором HealthKit недоступно, если вы используете HealthKit В iOS нет возможности даже установить приложение.

В каких случаях этот метод может возвращать false?

2 ответа

Решение

Обратите внимание, что вы можете установить приложение с каркасом HealthKit на iPad. То, что вы не можете сделать, это установить приложение, которое имеет HealthKit в качестве требования. По умолчанию, когда вы включаете HealthKit в XCode, он добавляет и права, и структуру, и требование. Но вы можете изменить требование в.plist вашего приложения.

Теперь, почему кто-то хотел бы включить каркас HealthKit в приложение для iPad, особенно если у него нет доступа к хранилищу данных HealthKit? Основная причина, которую я нашел, заключается в том, что вы можете использовать все единицы измерения энергии, расстояния и веса, которые являются частью инфраструктуры HealthKit.

Итак, isHealthDataAvailable, безусловно, желателен для универсальных приложений, использующих HealthKit, но там, где хранилище HealthKit не всегда доступно.

Согласно обсуждению в документации, это для iPad, который, как вы упоминаете, не имеет HealthKit. В магазине HealthKit-Apps все еще могут быть доступны для iPad, но не будут работать с этой функцией.

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