HealthKit: qué es, cómo funciona y su integración

Autor: IT Sectr Publicado: 2026-03-25 Tiempo de lectura: 8 min

El framework HealthKit es un componente central del ecosistema de salud de Apple que agrega datos del iPhone, Apple Watch y dispositivos de terceros en un almacenamiento local seguro. Según Apple Developer Documentation, 2025, la plataforma admite más de 100 tipos de datos, desde actividad física y sueño hasta análisis de laboratorio e indicadores cardiovasculares. Un repositorio único de información médica garantiza una sincronización perfecta entre aplicaciones con control de acceso granular para cada tipo de datos.

Puntos clave

  • HealthKit es el framework de Apple para recopilar, almacenar y compartir datos de salud entre aplicaciones de iOS.
  • HKHealthStore es el objeto central a través del cual las aplicaciones interactúan con los datos de salud.
  • Los tipos de datos se dividen en cuantitativos HKQuantityType y categóricos HKCategoryType.
  • Privacidad — cada aplicación solicita permiso de lectura y escritura para cada tipo de datos por separado.
  • Apple Watch transmite automáticamente datos de actividad, frecuencia cardíaca y entrenamientos a HealthKit.

¿Qué es HealthKit?

HealthKit es un framework de Apple, presentado en 2014 junto con iOS 8, diseñado para la gestión centralizada de datos de salud y actividad física del usuario. La plataforma actúa como un repositorio unificado donde las aplicaciones y dispositivos pueden escribir y leer información médica.

A diferencia de las soluciones de terceros, HealthKit está integrado directamente en el sistema operativo iOS, lo que garantiza un alto rendimiento y seguridad a nivel de hardware. Las aplicaciones no tienen acceso directo entre sí — todas las operaciones pasan a través del HKHealthStore central.

Según Apple WWDC 2024, más del 87% de los usuarios de iPhone en EE. UU. han utilizado la aplicación Salud integrada al menos una vez, la cual se basa en HealthKit. El ecosistema incluye miles de aplicaciones de terceros, desde rastreadores de fitness hasta servicios de telemedicina.

Arquitectura de HealthKit

La arquitectura de HealthKit se basa en el principio de almacenamiento multinivel con contenedores aislados para cada fuente de datos. En el nivel inferior se encuentra una base de datos SQLite cifrada con AES-256 por hardware. En el nivel superior está HKHealthStore, la interfaz de interacción unificada.

Cada registro contiene metadatos: la fuente HKSource, el dispositivo HKDevice, fecha, hora y una bandera de sincronización de iCloud. El sistema desduplica automáticamente los registros duplicados de una misma fuente, evitando la distorsión de datos.

Los datos se agrupan por tipos — HKQuantityType para indicadores numéricos (frecuencia cardíaca, pasos, calorías) y HKCategoryType para eventos categóricos (sueño, síntomas, ciclo menstrual). Esta estructura permite consultar cualquier combinación de parámetros de forma flexible mediante HKSampleQuery o HKStatisticsQuery.

Tipos de datos en HealthKit

HealthKit admite más de 100 tipos estandarizados de datos, divididos en categorías: actividad física, nutrición, sueño, sistema cardiovascular, salud reproductiva, resultados de laboratorio y signos vitales. Cada tipo tiene una unidad de medida HKUnit y un nivel de acceso.

Los desarrolladores también pueden crear correlaciones personalizadas a través de HKCorrelation, un grupo de mediciones relacionadas. Por ejemplo, un registro de comida puede incluir calorías, proteínas, grasas y carbohidratos como un solo objeto. Para mediciones secuenciales como los niveles de glucosa, se utiliza HKSeriesSample.

Trabajar con HealthKit comienza definiendo HKHealthStore, un singleton que se crea automáticamente al importar el framework. A través del store, la aplicación verifica si la plataforma está disponible en el dispositivo, ya que el soporte puede faltar en iPad y iPod touch. También es importante tener en cuenta que HealthKit no está disponible en Mac Catalyst — macOS requiere una implementación separada.

swift
import HealthKit

let healthStore = HKHealthStore()

let stepType = HKQuantityType
    .quantityType(forIdentifier: .stepCount)

let heartRateType = HKQuantityType
    .quantityType(forIdentifier: .heartRate)

let typesToRead: Set = [stepType, heartRateType]

Cómo funciona HealthKit

HealthKit funciona como un mediador entre fuentes de datos y aplicaciones, utilizando un modelo asíncrono de publicación-suscripción. La aplicación fuente escribe datos a través de HKHealthStore, y las aplicaciones suscriptoras reciben notificaciones de nuevos registros mediante HKObserverQuery, que se ejecuta en segundo plano.

El framework admite sincronización en segundo plano a través de iCloud: si el usuario ha iniciado sesión, HealthKit distribuye automáticamente los datos a todos los dispositivos Apple en tiempo real. Cuando no hay red, los cambios se almacenan en búfer localmente y se sincronizan al restablecerse la conexión sin pérdida de datos.

Según Apple, el retraso de sincronización entre iPhone y Apple Watch es inferior a 30 segundos para los datos de actividad. Para otros tipos — sueño, nutrición, resultados de laboratorio — la sincronización se realiza según un horario con un intervalo de hasta 15 minutos para ahorrar batería.

HKHealthStore y operaciones con datos

HKHealthStore es el singleton central a través del cual se realizan todas las operaciones: guardar mediante saveObject, leer mediante execute y eliminar mediante deleteObject. Cada operación es asíncrona y devuelve un resultado a través de un cierre, lo que requiere un manejo adecuado de errores.

Las consultas se dividen en varios tipos: HKSampleQuery para recuperar registros por criterios, HKStatisticsQuery para datos agregados — suma, promedio, mínimo, máximo — y HKObserverQuery para rastrear cambios en tiempo real. Para actualizaciones periódicas en segundo plano, se utiliza HKHeartbeatSeriesQuery.

swift
let type = HKQuantityType
    .quantityType(forIdentifier: .stepCount)
let now = Date()
let start = Calendar.current
    .date(
        byAdding: .day,
        value: -7,
        to: now
    )
let predicate = HKQuery
    .predicateForSamples(
        withStart: start,
        end: now,
        options: .strictStartDate
    )
let query = HKSampleQuery(
    sampleType: type,
    predicate: predicate,
    limit: 100
) { _, samples, _ in
    for sample in samples as [HKQuantitySample] {
        print(sample.quantity)
    }
}
healthStore.execute(query)

Integrar HealthKit en una aplicación

La integración de HealthKit comienza habilitando la capacidad HealthKit en Xcode y añadiendo el entitlement al proyecto. Después, la aplicación solicita permiso para acceder a tipos de datos específicos mediante la llamada requestAuthorization. Importante: HealthKit no está disponible en el simulador y requiere un dispositivo físico con iOS.

El proceso de integración incluye tres etapas: definir los tipos de datos, solicitar autorización y realizar operaciones de lectura y escritura. Cada etapa es asíncrona y debe manejar errores — el usuario puede denegar el acceso a cualquier tipo de datos en el diálogo del sistema con interruptores.

Según las investigaciones de Apple, las aplicaciones con integración de HealthKit muestran un 40% más de nivel de participación de los usuarios. El factor clave de éxito es explicar por qué la aplicación necesita datos de salud específicos en la descripción de la solicitud de autorización.

Solicitud de autorización

La solicitud de autorización se realiza una vez al primer inicio. La aplicación especifica dos conjuntos de tipos — para lectura y para escritura. El usuario ve un diálogo del sistema con interruptores para cada tipo de datos y puede conceder acceso de forma selectiva, denegando categorías innecesarias.

swift
let typesToWrite: Set = [
    HKQuantityType
        .quantityType(
            forIdentifier: .dietaryEnergyConsumed
        )
]
let typesToRead: Set = [
    HKQuantityType
        .quantityType(
            forIdentifier: .stepCount
        )
]

healthStore.requestAuthorization(
    toShare: typesToWrite,
    read: typesToRead
) { success, error in
    if success {
        print("Autorización obtenida")
    }
}

Seguridad de HealthKit

HealthKit implementa un modelo de seguridad multicapa que incluye cifrado por hardware, sandboxing de aplicaciones y permisos granulares. Todos los datos de salud se almacenan cifrados en el dispositivo y no se transmiten a iCloud sin el consentimiento explícito del usuario, que se solicita una sola vez.

Una característica clave es el mecanismo Intent: la aplicación no tiene acceso constante en segundo plano a los datos. Cada solicitud de lectura o escritura es verificada por el sistema operativo, y el usuario puede revocar el permiso en cualquier momento a través de Ajustes — Privacidad — Salud sin necesidad de reinstalar la aplicación.

Apple regula estrictamente el uso de HealthKit en las Directrices de revisión de la App Store. La aplicación no puede transferir datos de HealthKit a terceros sin consentimiento explícito, no puede usarlos para publicidad o segmentación, y no puede almacenarlos más tiempo del necesario para la funcionalidad declarada.

Límites y restricciones

HealthKit tiene varias limitaciones: el tamaño máximo de la base de datos en el dispositivo es de 1 GB, el límite de registros en una sola consulta es de 1000, y el intervalo mínimo entre tipos de datos idénticos es de 1 segundo. El framework también limita las actualizaciones en segundo plano — no más de 60 activaciones de HKObserverQuery por día.

Estas limitaciones se compensan con el rendimiento: leer 1000 registros toma un promedio de 50–100 milisegundos, y escribir un solo registro toma menos de 10 milisegundos. Para grandes volúmenes de datos, se recomienda usar HKStatisticsCollectionQuery con preagregación en lugar de recuperar registros individuales. HealthKit procesa las consultas de forma asíncrona — la aplicación no se bloquea mientras espera datos de HKHealthStore.

Preguntas frecuentes

¿Qué dispositivos son compatibles con HealthKit?

HealthKit es compatible con todos los dispositivos con iOS 8 y versiones posteriores, incluidos iPhone, iPad y iPod touch. Apple Watch transmite automáticamente los datos a través del iPhone emparejado. Los dispositivos de terceros — pulseras de fitness, básculas, monitores de presión arterial — pueden escribir datos a través de la API de HealthKit si existe una aplicación correspondiente.

¿Se pueden exportar datos de HealthKit?

Sí, la aplicación Salud permite exportar todos los datos en formato XML mediante la función “Exportar datos de salud”. Los desarrolladores pueden leer mediante programación cualquier tipo permitido a través de HKSampleQuery y exportarlo a su propio formato. Los datos de salud no pueden transferirse a servidores de terceros sin el consentimiento explícito del usuario.

¿Cómo maneja HealthKit la eliminación de datos?

El usuario puede eliminar datos a través de la aplicación Salud o de la aplicación fuente que los registró. Después de la eliminación, los datos no se pueden recuperar — HealthKit no tiene papelera. La operación de eliminación es irreversible, por lo que se recomienda a las aplicaciones solicitar confirmación antes de ejecutar deleteObject.

¿En qué se diferencia HealthKit de ResearchKit?

HealthKit está diseñado para almacenar y compartir datos de salud del usuario, mientras que ResearchKit es un framework para realizar investigaciones médicas. ResearchKit utiliza HealthKit como una de sus fuentes de datos, pero añade módulos de consentimiento informado, cuestionarios y tareas activas para la recopilación de datos de investigación.

¿Se necesita un permiso especial para HealthKit en la App Store?

Sí, las aplicaciones que usan HealthKit deben cumplir con las Directrices de revisión de la App Store, sección 5.1.1 — Datos médicos y de salud. Se requiere una descripción explícita del uso de datos en la aplicación, una política de privacidad, prohibición del uso publicitario de los datos y cifrado durante la transmisión por red.

Resumen

  • HealthKit es el framework estándar de Apple para gestionar datos de salud en iOS, presentado en 2014.
  • HKHealthStore es la interfaz central para todas las operaciones: guardar, leer y eliminar datos de salud.
  • La plataforma admite más de 100 tipos de datos, desde actividad física hasta análisis de laboratorio.
  • La privacidad de los datos está garantizada mediante cifrado por hardware AES-256 y permisos granulares.
  • La sincronización entre dispositivos Apple se realiza a través de iCloud con un retraso inferior a 30 segundos.
  • La integración requiere configurar entitlements en Xcode y una solicitud de autorización obligatoria al usuario.
  • La seguridad de HealthKit se controla a través de los ajustes de privacidad del sistema y las políticas de la App Store.

Desarrollaremos una aplicación móvil llave en mano

IT Sectr crea aplicaciones para iOS y Android para startups y empresas desde 2017. Le asesoraremos y le propondremos la mejor solución.

Discutir el proyecto

Lea también