HealthKit: ano ito, mga prinsipyo ng paggana at integrasyon

May-akda: IT Sectr Nai-publish: 2026-03-25 Oras ng pagbabasa: 8 min

Ang HealthKit framework ay sentral na bahagi ng Apple health ecosystem, na nagtitipon ng data mula sa iPhone, Apple Watch at mga third-party device sa isang protektadong lokal na imbakan. Ayon sa Apple Developer Documentation, 2025, ang platform ay sumusuporta sa higit sa 100 uri ng data — mula sa pisikal na aktibidad at pagtulog hanggang sa laboratory analysis at mga indicator ng cardiovascular system. Isang imbakan ng medikal na impormasyon ay nagsisiguro ng walang putol na pag-sync sa pagitan ng mga aplikasyon na may granular na kontrol sa pag-access para sa bawat uri ng data.

Mga Pangunahing Punto

  • HealthKit — Apple framework para sa pagkolekta, pag-imbak at pagpapalitan ng data ng kalusugan sa pagitan ng mga iOS application.
  • HKHealthStore — sentral na bagay kung saan nakikipag-ugnayan ang mga application sa data ng kalusugan.
  • Mga uri ng data ay nahahati sa quantitative HKQuantityType at categorical HKCategoryType.
  • Pagkapribado — bawat application ay humihingi ng pahintulot para magbasa at magsulat para sa bawat uri ng data nang hiwalay.
  • Apple Watch awtomatikong nagpapadala ng data ng aktibidad, pulso at ehersisyo sa HealthKit.

Ano ang HealthKit?

HealthKit ay isang Apple framework na inilunsad noong 2014 kasama ng iOS 8, na idinisenyo para sa sentralisadong pamamahala ng data ng kalusugan at pisikal na aktibidad ng user. Ang platform ay nagsisilbing isang repositoryo kung saan ang mga application at device ay maaaring magsulat at magbasa ng medikal na impormasyon.

Hindi tulad ng mga third-party na solusyon, ang HealthKit ay direktang naka-embed sa iOS operating system, na tinitiyak ang mataas na performance at seguridad sa antas ng hardware. Ang mga application ay walang direktang access sa isa’t isa — lahat ng operasyon ay dumadaan sa sentral na HKHealthStore.

Ayon sa Apple WWDC 2024, higit sa 87% ng mga gumagamit ng iPhone sa US ay kahit isang beses gumamit ng built-in na Health application, na batay mismo sa HealthKit. Ang ecosystem ay sumasaklaw sa libu-libong third-party na application — mula sa fitness tracker hanggang sa telemedicine services.

Arkitektura ng HealthKit

Ang arkitektura ng HealthKit ay binuo sa prinsipyo ng multi-level na imbakan na may mga isolated na container para sa bawat source ng data. Sa ibabang antas ay matatagpuan ang SQLite database, na naka-encrypt gamit ang hardware AES-256. Sa itaas na antas ay matatagpuan ang HKHealthStore — ang nag-iisang interface para sa pakikipag-ugnayan.

Ang bawat record ay naglalaman ng metadata: source HKSource, device HKDevice, petsa, oras at flag ng pag-sync mula sa iCloud. Awtomatikong dineduplicate ng system ang mga duplicate na record mula sa parehong source, na pumipigil sa pagbaluktot ng istatistika.

Ang data ay naka-grupo ayon sa uri — HKQuantityType para sa numerical indicators (pulso, hakbang, calories) at HKCategoryType para sa categorical na mga kaganapan (tulog, sintomas, menstrual cycle). Ang istrukturang ito ay nagbibigay-daan sa flexible na pag-query ng anumang kumbinasyon ng mga parameter sa pamamagitan ng HKSampleQuery o HKStatisticsQuery.

Mga uri ng data sa HealthKit

Ang HealthKit ay sumusuporta sa higit sa 100 standardized na uri ng data, nahahati sa mga kategorya: pisikal na aktibidad, nutrisyon, pagtulog, cardiovascular system, reproductive health, laboratory parameters at vital signs. Bawat uri ay may unit ng pagsukat na HKUnit at antas ng access.

Ang developer ay maaari ring gumawa ng custom na correlation sa pamamagitan ng HKCorrelation — isang grupo ng mga kaugnay na sukat. Halimbawa, ang isang record ng pagkain ay maaaring magsama ng calories, protina, taba at carbohydrates bilang iisang bagay. Para sa sequential measurements, tulad ng glucose level, ginagamit ang HKSeriesSample.

Ang pagtatrabaho sa HealthKit ay nagsisimula sa pagtukoy ng HKHealthStore — isang singleton na awtomatikong nilikha kapag ini-import ang framework. Sa pamamagitan ng store, sinusuri ng application kung ang platform ay available sa device, dahil ang suporta sa iPad at iPod touch ay maaaring wala. Mahalaga ring tandaan na ang HealthKit ay hindi available sa Mac Catalyst — para sa macOS ay kinakailangan ang hiwalay na implementasyon.

swift
import HealthKit

let healthStore = HKHealthStore()

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

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

let typesToRead: Set = [stepType, heartRateType]

Paano gumagana ang HealthKit

Ang HealthKit ay gumagana bilang tagapamagitan sa pagitan ng mga source ng data at mga application, gamit ang asynchronous na modelo ng publish-subscribe. Ang source application ay nagsusulat ng data sa pamamagitan ng HKHealthStore, at ang mga subscriber application ay tumatanggap ng mga notification tungkol sa mga bagong record sa pamamagitan ng HKObserverQuery na tumatakbo sa background.

Ang framework ay sumusuporta sa background synchronization sa pamamagitan ng iCloud: kung naka-log in ang user, awtomatikong ipinamamahagi ng HealthKit ang data sa lahat ng Apple device sa real-time. Kapag walang network, ang mga pagbabago ay binu-buffer nang lokal at nagne-sync kapag naibalik ang koneksyon nang walang pagkawala ng data.

Ayon sa Apple, ang pagkaantala ng pag-sync sa pagitan ng iPhone at Apple Watch ay mas mababa sa 30 segundo para sa data ng aktibidad. Para sa iba pang uri — pagtulog, nutrisyon, laboratory parameters — ang pag-sync ay nagaganap ayon sa iskedyul na may interval na hanggang 15 minuto upang makatipid sa baterya.

HKHealthStore at mga operasyon sa data

HKHealthStore — ang sentral na singleton kung saan isinasagawa ang lahat ng operasyon: pag-save sa pamamagitan ng saveObject, pagbasa sa pamamagitan ng execute at pag-delete sa pamamagitan ng deleteObject. Bawat operasyon ay asynchronous at nagbabalik ng resulta sa pamamagitan ng closure, na nangangailangan ng tamang paghawak ng error.

Ang mga query ay nahahati sa ilang uri: HKSampleQuery para sa pagpili ng mga record ayon sa criteria, HKStatisticsQuery para sa pinagsama-samang data — kabuuan, average, minimum, maximum — at HKObserverQuery para sa pagsubaybay ng mga pagbabago sa real-time. Para sa periodic background updates, ginagamit ang 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)

Integrasyon ng HealthKit sa application

Ang integrasyon ng HealthKit ay nagsisimula sa pag-enable ng HealthKit capability sa Xcode at pagdagdag ng entitlement sa proyekto. Pagkatapos nito, humihingi ang application ng pahintulot sa pag-access sa mga partikular na uri ng data sa pamamagitan ng requestAuthorization. Mahalaga: ang HealthKit ay hindi available sa simulator at nangangailangan ng pisikal na device na may iOS.

Ang proseso ng integrasyon ay may tatlong yugto: pagtukoy ng mga uri ng data, paghingi ng awtorisasyon at pagsasagawa ng mga operasyon ng pagbasa at pagsulat. Bawat yugto ay asynchronous at dapat humawak ng mga error — maaaring tanggihan ng user ang kahilingan sa pag-access sa anumang uri ng data sa system dialog na may mga switch.

Ayon sa pananaliksik ng Apple, ang mga application na may integrasyon ng HealthKit ay nagpapakita ng 40% na mas mataas na antas ng pakikipag-ugnayan ng user. Ang pangunahing salik ng tagumpay ay ang pagpapaliwanag kung bakit kailangan ng application ang partikular na data ng kalusugan sa paglalarawan ng kahilingan sa awtorisasyon.

Kahilingan ng awtorisasyon

Ang kahilingan ng awtorisasyon ay isinasagawa nang isang beses sa unang paglunsad. Tinutukoy ng application ang dalawang set ng uri — para sa pagbasa at pagsulat. Nakikita ng user ang system dialog na may mga switch para sa bawat uri ng data at maaaring magbigay ng access nang pili, na hinaharangan ang mga hindi kinakailangang kategorya.

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("Nakuha ang awtorisasyon")
    }
}

Seguridad ng HealthKit

HealthKit ay nagpapatupad ng multi-level na modelo ng seguridad, kabilang ang hardware encryption, application sandbox at granular na mga pahintulot. Lahat ng data ng kalusugan ay nakaimbak na naka-encrypt sa device at hindi ipinapadala sa iCloud nang walang hiwalay na pahintulot ng user, na hinihingi nang isang beses.

Ang pangunahing tampok — Intent mechanism: ang application ay walang palaging background access sa data. Bawat kahilingan sa pagbasa o pagsulat ay sinusuri ng operating system, at maaaring bawiin ng user ang pahintulot anumang oras sa pamamagitan ng Settings — Privacy — Health nang hindi kinakailangang i-reinstall ang application.

Mahigpit na kinokontrol ng Apple ang paggamit ng HealthKit sa App Store Review Guidelines. Hindi maaaring ilipat ng application ang HealthKit data sa third party nang walang tahasang pahintulot, hindi ito magagamit para sa advertising o targeting at hindi ito maiimbak nang mas mahaba kaysa sa kinakailangan para sa ipinahayag na functionality.

Mga limitasyon

Ang HealthKit ay may ilang limitasyon: maximum na laki ng database sa device — 1 GB, limitasyon sa bilang ng record sa isang query — 1000, minimum na interval sa pagitan ng magkaparehong uri ng data — 1 segundo. Nililimitahan din ng framework ang background updates — hindi hihigit sa 60 HKObserverQuery triggers bawat araw.

Ang mga limitasyong ito ay binabayaran ng performance: ang pagbasa ng 1000 record ay tumatagal ng average na 50–100 millisecond, at ang pagsulat ng isang record ay tumatagal ng mas mababa sa 10 millisecond. Para sa malalaking volume ng data, inirerekomenda ang paggamit ng HKStatisticsCollectionQuery na may paunang aggregation sa halip na pagpili ng indibidwal na record. Pinoproseso ng HealthKit ang mga query nang asynchronous — hindi naba-block ang application habang naghihintay ng data mula sa HKHealthStore.

Mga Madalas Itanong

Anong mga device ang sumusuporta sa HealthKit?

Ang HealthKit ay sinusuportahan sa lahat ng device na may iOS 8 at mas bago, kabilang ang iPhone, iPad at iPod touch. Ang Apple Watch ay awtomatikong nagpapadala ng data sa pamamagitan ng naka-paired na iPhone. Ang mga third-party na device — fitness band, timbangan, monitor ng presyon — ay maaaring magsulat ng data sa pamamagitan ng HealthKit API kung mayroon silang katugmang application.

Maaari bang i-export ang data mula sa HealthKit?

Oo, ang Health application ay nagbibigay-daan sa pag-export ng lahat ng data sa XML format sa pamamagitan ng function na “Export Health Data”. Ang mga developer ay maaaring magbasa ng anumang pinapayagang uri sa pamamagitan ng HKSampleQuery at i-export sa kanilang sariling format. Ang data ng kalusugan ay hindi maaaring ilipat sa mga third-party server nang walang tahasang pahintulot ng user.

Paano pinangangasiwaan ng HealthKit ang pag-delete ng data?

Maaaring tanggalin ng user ang data sa pamamagitan ng Health application o sa pamamagitan ng source application na nagtala nito. Pagkatapos ng pag-delete, hindi na maibabalik ang data — ang HealthKit ay walang basurahan. Ang operasyon ng pag-delete ay hindi na mababawi, kaya inirerekomenda sa mga application na humingi ng kumpirmasyon bago isagawa ang deleteObject.

Ano ang pagkakaiba ng HealthKit at ResearchKit?

HealthKit ay idinisenyo para sa pag-imbak at pagpapalitan ng data ng kalusugan ng user, samantalang ang ResearchKit ay isang framework para sa pagsasagawa ng medikal na pananaliksik. Ginagamit ng ResearchKit ang HealthKit bilang isa sa mga source ng data, ngunit nagdaragdag ng mga module ng informed consent, questionnaire at aktibong gawain para sa pagkolekta ng data ng pananaliksik.

Kailangan ba ng espesyal na pahintulot para sa HealthKit sa App Store?

Oo, ang mga application na gumagamit ng HealthKit ay dapat sumunod sa App Store Review Guidelines, seksyon 5.1.1 — Medical and Health Data. Kinakailangan ang malinaw na paglalarawan ng paggamit ng data sa application, patakaran sa privacy, pagbabawal sa paggamit ng data para sa advertising at encryption sa panahon ng transmission sa network.

Konklusyon

  • HealthKit — standard na Apple framework para sa pamamahala ng data ng kalusugan sa iOS, inilunsad noong 2014.
  • HKHealthStore — sentral na interface para sa lahat ng operasyon: pag-save, pagbasa at pag-delete ng data ng kalusugan.
  • Ang platform ay sumusuporta sa higit sa 100 uri ng data — mula sa pisikal na aktibidad hanggang sa laboratory analysis.
  • Pagkapribado ng data ay sinisiguro ng hardware AES-256 encryption at granular na pahintulot.
  • Pag-sync sa pagitan ng Apple device ay nangyayari sa pamamagitan ng iCloud na may pagkaantala na mas mababa sa 30 segundo.
  • Integrasyon ay nangangailangan ng pag-configure ng entitlement sa Xcode at sapilitang kahilingan ng awtorisasyon mula sa user.
  • Seguridad ng HealthKit ay kinokontrol sa pamamagitan ng system privacy settings at App Store policies.

Gagawa kami ng mobile application na turnkey

Gumagawa ang IT Sectr ng mga iOS at Android application para sa mga startup at negosyo mula noong 2017. Magpapayo kami sa iyo at magmumungkahi ng pinakamahusay na solusyon.

Pag-usapan ang proyekto

Basahin din