Какова цель HKHealthStore.isHealthDataAvailable?
Для настройки HealthKit
Фреймворк Apple рекомендует следующий способ:
- включить
HealthKit
возможности в Xcode. - Проверьте, доступен ли HealthKit на устройстве, позвонив
isHealthDataAvailable
метод. - Если
HealthKit
и включен и доступен, создать экземплярHKHealthStore
объект. - Запросить авторизацию у пользователя для чтения и публикации
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, но не будут работать с этой функцией.