¿Cuál es el propósito de HKHealthStore.isHealthDataAvailable?

Para configurar el marco HealthKit Apple recomienda la siguiente manera:

  1. Habilite HealthKit capacidades de HealthKit en Xcode.
  2. Compruebe si HealthKit está disponible en el dispositivo llamando al método isHealthDataAvailable .
  3. Si HealthKit está habilitado y disponible, HKHealthStore una instancia de un object HKHealthStore .
  4. Solicitar autorización del usuario para leer y compartir datos de HealthKit .

Mi pregunta está relacionada con el paso número 2.

HealthKit está disponible como 8.0 y posterior y este método, por supuesto, tiene la misma disponibilidad. En iPad, en el que HealthKit no está disponible si utiliza el derecho de HealthKit , iOS no le permite ni siquiera instalar la aplicación.

¿Cuáles son los casos en que este método puede devolver falso?

Tenga en count que puede instalar una aplicación que tenga el marco HealthKit en un iPad. Lo que no puede hacer es instalar una aplicación que tenga HealthKit como requisito. De forma pnetworkingeterminada, cuando habilita HealthKit en XCode, agrega tanto el derecho, marco y el requisito. Pero puede ajustar el requisito en .plist de su aplicación.

Ahora, ¿por qué alguien querría include el framework HealthKit en una aplicación iPad, especialmente si no tiene acceso a un almacén de datos HealthKit? La razón principal que he encontrado es que puedes usar todo el formatting de unidad de energía, distancia y peso que forma parte del marco HealthKit.

Por lo tanto, el isHealthDataAvailable es sin duda el deseado para las aplicaciones universales que utilizan HealthKit pero donde la tienda HealthKit no siempre está disponible.

Según la discusión en la documentation, es para iPad que, como usted menciona, no tiene HealthKit. En la tienda HealthKit-Apps todavía puede estar disponible para iPad, pero no funcionará con esa function.