HealthKit: ce este, principii de funcționare și integrare

Autor: IT Sectr Publicat: 2026-03-25 Timp de citire: 8 min

Framework-ul HealthKit este componenta centrală a ecosistemului de sănătate Apple, care agregă datele de pe iPhone, Apple Watch și dispozitive terțe într-un depozit local protejat. Potrivit Apple Developer Documentation, 2025, platforma suportă peste 100 de tipuri de date — de la activitate fizică și somn până la analize de laborator și indicatori ai sistemului cardiovascular. Depozitul unic de informații medicale asigură sincronizarea fără probleme între aplicații cu control granular al accesului pentru fiecare tip de date.

Principalele

  • HealthKit — framework Apple pentru colectarea, stocarea și schimbul de date de sănătate între aplicațiile iOS.
  • HKHealthStore — obiectul central prin care aplicațiile interacționează cu datele de sănătate.
  • Tipurile de date se împart în cantitative HKQuantityType și categorice HKCategoryType.
  • Confidențialitatea — fiecare aplicație solicită permisiunea de citire și scriere pentru fiecare tip de date în parte.
  • Apple Watch transmite automat datele despre activitate, puls și antrenamente către HealthKit.

Ce este HealthKit?

HealthKit este un framework Apple lansat în 2014 odată cu iOS 8, destinat gestionării centralizate a datelor de sănătate și activitate fizică ale utilizatorului. Platforma acționează ca un depozit unic în care aplicațiile și dispozitivele pot scrie și din care pot citi informații medicale.

Spre deosebire de soluțiile terțe, HealthKit este integrat direct în sistemul de operare iOS, ceea ce asigură performanță și securitate la nivel hardware. Aplicațiile nu au acces direct una la alta — toate operațiile trec prin HKHealthStore central.

Potrivit Apple WWDC 2024, peste 87% dintre utilizatorii de iPhone din SUA au folosit cel puțin o dată aplicația integrată Sănătate, care se bazează tocmai pe HealthKit. Ecosistemul include mii de aplicații terțe — de la trackere de fitness până la servicii de telemedicină.

Arhitectura HealthKit

Arhitectura HealthKit este construită pe principiul depozitului multinivel cu containere izolate pentru fiecare sursă de date. La nivelul inferior se află o bază de date SQLite, criptată cu AES-256 hardware. La nivelul superior se află HKHealthStore — interfața unică de interacțiune.

Fiecare înregistrare conține metadate: sursa HKSource, dispozitivul HKDevice, data, ora și un flag de sincronizare din iCloud. Sistemul elimină automat duplicatele de la aceeași sursă, prevenind denaturarea statisticilor.

Datele sunt grupate pe tipuri — HKQuantityType pentru indicatori numerici (puls, pași, calorii) și HKCategoryType pentru evenimente categorice (somn, simptome, ciclu menstrual). Această structură permite interogarea flexibilă a oricăror combinații de parametri prin HKSampleQuery sau HKStatisticsQuery.

Tipuri de date în HealthKit

HealthKit suportă peste 100 de tipuri standardizate de date, împărțite pe categorii: activitate fizică, alimentație, somn, sistem cardiovascular, sănătate reproductivă, parametri de laborator și semne vitale. Fiecare tip are o unitate de măsură HKUnit și un nivel de acces.

Dezvoltatorul poate crea și corelații personalizate prin HKCorrelation — un grup de măsurători conexe. De exemplu, o înregistrare a unei mese poate include caloriile, proteinele, grăsimile și carbohidrații ca un singur obiect. Pentru măsurători secvențiale, precum nivelul glicemiei, se utilizează HKSeriesSample.

Lucrul cu HealthKit începe cu definirea HKHealthStore — un singleton care este creat automat la importarea framework-ului. Prin store, aplicația verifică dacă platforma este disponibilă pe dispozitiv, deoarece pe iPad și iPod touch suportul poate lipsi. De asemenea, este important de reținut că HealthKit nu este disponibil pe Mac Catalyst — pentru macOS este necesară o implementare separată.

swift
import HealthKit

let healthStore = HKHealthStore()

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

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

let typesToRead: Set = [stepType, heartRateType]

Cum funcționează HealthKit

HealthKit funcționează ca intermediar între sursele de date și aplicații, utilizând un model asincron de publicare-abonare. Aplicația sursă scrie datele prin HKHealthStore, iar aplicațiile abonate primesc notificări despre noile înregistrări prin HKObserverQuery, rulat în fundal.

Framework-ul suportă sincronizarea în fundal prin iCloud: dacă utilizatorul este autentificat, HealthKit distribuie automat datele pe toate dispozitivele Apple în timp real. În lipsa rețelei, modificările sunt bufferizate local și sincronizate la restabilirea conexiunii fără pierderi de date.

Potrivit Apple, decajul de sincronizare între iPhone și Apple Watch este mai mic de 30 de secunde pentru datele de activitate. Pentru alte tipuri — somn, alimentație, parametri de laborator — sincronizarea are loc conform unui program cu un interval de până la 15 minute pentru a economisi bateria.

HKHealthStore și operațiile cu date

HKHealthStore — singletonul central prin care se execută toate operațiile: salvare prin saveObject, citire prin execute și ștergere prin deleteObject. Fiecare operație este asincronă și returnează rezultatul printr-un closure, ceea ce necesită gestionarea corectă a erorilor.

Interogările se împart în mai multe tipuri: HKSampleQuery pentru selectarea înregistrărilor după criterii, HKStatisticsQuery pentru date agregate — sumă, medie, minim, maxim — și HKObserverQuery pentru urmărirea modificărilor în timp real. Pentru actualizări periodice în fundal se utilizează 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)

Integrarea HealthKit în aplicație

Integrarea HealthKit începe cu activarea capability HealthKit în Xcode și adăugarea entitlement în proiect. După aceea, aplicația solicită permisiuni de acces la tipuri specifice de date prin apelul requestAuthorization. Important: HealthKit nu este disponibil pe simulator și necesită un dispozitiv fizic cu iOS.

Procesul de integrare include trei etape: definirea tipurilor de date, solicitarea autorizării și efectuarea operațiilor de citire și scriere. Fiecare etapă este asincronă și trebuie să gestioneze erorile — utilizatorul poate respinge cererea de acces la orice tip de date în dialogul de sistem cu întrerupătoare.

Potrivit cercetărilor Apple, aplicațiile cu integrare HealthKit arată un nivel de implicare a utilizatorilor cu 40% mai ridicat. Factorul cheie de succes este explicarea motivului pentru care aplicația are nevoie de date specifice de sănătate în descrierea cererii de autorizare.

Solicitarea autorizării

Solicitarea autorizării se efectuează o singură dată la prima lansare. Aplicația specifică două seturi de tipuri — pentru citire și pentru scriere. Utilizatorul vede dialogul de sistem cu întrerupătoare pentru fiecare tip de date și poate acorda acces selectiv, interzicând categoriile inutile.

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("Autorizație obținută")
    }
}

Securitatea HealthKit

HealthKit implementează un model de securitate multinivel, incluzând criptarea hardware, sandbox-ul aplicațiilor și permisiuni granulare. Toate datele de sănătate sunt stocate criptat pe dispozitiv și nu sunt transmise către iCloud fără acordul separat al utilizatorului, care este solicitat o singură dată.

Caracteristica cheie — mecanismul Intent: aplicația nu are acces constant în fundal la date. Fiecare cerere de citire sau scriere este verificată de sistemul de operare, iar utilizatorul poate revoca în orice moment permisiunea prin Setări — Confidențialitate — Sănătate fără a fi nevoie să reinstaleze aplicația.

Apple reglementează strict utilizarea HealthKit în App Store Review Guidelines. Aplicația nu poate transmite datele HealthKit către terți fără acordul explicit, nu le poate utiliza în scopuri publicitare sau de targetare și nu le poate stoca mai mult decât este necesar pentru funcționalitatea declarată.

Limite și restricții

HealthKit are o serie de limitări: dimensiunea maximă a bazei de date pe dispozitiv — 1 GB, limita numărului de înregistrări într-o singură interogare — 1000, intervalul minim între tipuri identice de date — 1 secundă. Framework-ul limitează și actualizările în fundal — nu mai mult de 60 de declanșări HKObserverQuery pe zi.

Aceste limitări sunt compensate de performanță: citirea a 1000 de înregistrări durează în medie 50–100 de milisecunde, iar scrierea unei singure înregistrări durează mai puțin de 10 milisecunde. Pentru volume mari de date, se recomandă utilizarea HKStatisticsCollectionQuery cu agregare prealabilă, în locul selectării înregistrărilor individuale. HealthKit procesează interogările asincron — aplicația nu se blochează în timp ce așteaptă datele de la HKHealthStore.

Întrebări frecvente

Ce dispozitive suportă HealthKit?

HealthKit este suportat pe toate dispozitivele cu iOS 8 și versiuni ulterioare, inclusiv iPhone, iPad și iPod touch. Apple Watch transmite automat datele prin iPhone-ul asociat. Dispozitivele terțe — brățări fitness, cântare, monitoare de tensiune — pot scrie date prin API-ul HealthKit dacă au o aplicație corespunzătoare.

Pot fi exportate datele din HealthKit?

Da, aplicația Sănătate permite exportarea tuturor datelor în format XML prin funcția „Export date de sănătate”. Dezvoltatorii pot citi programatic orice tipuri permise prin HKSampleQuery și le pot exporta în formatul propriu. Datele de sănătate nu pot fi transmise către servere terțe fără acordul explicit al utilizatorului.

Cum gestionează HealthKit ștergerea datelor?

Utilizatorul poate șterge datele prin aplicația Sănătate sau prin aplicația sursă care le-a scris. După ștergere, datele nu pot fi recuperate — HealthKit nu are coș de reciclare. Operația de ștergere este ireversibilă, de aceea se recomandă aplicațiilor să solicite confirmare înainte de a executa deleteObject.

Cu ce se deosebește HealthKit de ResearchKit?

HealthKit este destinat stocării și schimbului de date de sănătate ale utilizatorului, îen timp ce ResearchKit este un framework pentru efectuarea de cercetări medicale. ResearchKit utilizează HealthKit ca una dintre sursele de date, dar adaugă module de consimțământ informat, chestionare și sarcini active pentru colectarea datelor de cercetare.

Este necesară o permisiune specială pentru HealthKit în App Store?

Da, aplicațiile care utilizează HealthKit trebuie să respecte App Store Review Guidelines, secțiunea 5.1.1 — Medical and Health Data. Este necesară o descriere clară a utilizării datelor în aplicație, o politică de confidențialitate, interdicția utilizării datelor în scopuri publicitare și criptarea în timpul transmiterii prin rețea.

Concluzii

  • HealthKit — framework-ul standard Apple pentru gestionarea datelor de sănătate în iOS, lansat în 2014.
  • HKHealthStore — interfața centrală pentru toate operațiile: salvare, citire și ștergere a datelor de sănătate.
  • Platforma suportă peste 100 de tipuri de date — de la activitate fizică până la analize de laborator.
  • Confidențialitatea datelor este asigurată prin criptarea hardware AES-256 și permisiuni granulare.
  • Sincronizarea între dispozitivele Apple are loc prin iCloud cu o întârziere mai mică de 30 de secunde.
  • Integrarea necesită configurarea entitlement în Xcode și solicitarea obligatorie a autorizării utilizatorului.
  • Securitatea HealthKit este controlată prin setările de confidențialitate ale sistemului și politicile App Store.

Vom dezvolta o aplicație mobilă la cheie

IT Sectr creează aplicații iOS și Android pentru startup-uri și afaceri din 2017. Vă vom consilia și vă vom propune cea mai bună soluție.

Discutați proiectul

Citiți și