HealthKit: bu nədir, iş prinsipləri və inteqrasiya

Müəllif: IT Sectr Dərc olunub: 2026-03-25 Oxuma vaxtı: 8 dəq

HealthKit freymvorku Apple sağlamlıq ekosisteminin mərkəzi komponentidir. O, iPhone, Apple Watch və üçüncü tərəf cihazlardan məlumatları qorunan yerli anbarda toplayır. Apple Developer Documentation, 2025-yə görə, platforma 100-dən çox məlumat növünü dəstəkləyir — fiziki fəaliyyət və yuxudan tutmuş laboratoriya analizləri və ürək-damar sistemi göstəricilərinə qədər. Vahid anbar tibbi məlumat hər məlumat növü üçün dənəvi giriş nəzarəti ilə tətbiqlər arasında problemsiz sinxronizasiyanı təmin edir.

Başlıca

  • HealthKit — iOS tətbiqləri arasında sağlamlıq məlumatlarını toplamaq, saxlamaq və mübadilə etmək üçün Apple freymvorku.
  • HKHealthStore — tətbiqlərin sağlamlıq məlumatları ilə qarşılıqlı əlaqə qurduğu mərkəzi obyekt.
  • Məlumat növləri kəmiyyət HKQuantityType və kateqoriyalı HKCategoryType bölünür.
  • Məxfilik — hər tətbiq hər məlumat növü üçün oxuma və yazma icazəsini ayrıca tələb edir.
  • Apple Watch avtomatik olaraq aktivlik, nəbz və məşq məlumatlarını HealthKit-ə ötürür.

HealthKit nədir?

HealthKit — Apple tərəfindən 2014-cü ildə iOS 8 ilə birlikdə təqdim edilmiş, istifadəçinin sağlamlıq və fiziki fəaliyyət məlumatlarının mərkəzləşdirilmiş idarə edilməsi üçün nəzərdə tutulmuş freymvorkdur. Platforma vahid depo rolunu oynayır, ora tətbiqlər və cihazlar tibbi məlumat yaza və oxuya bilər.

Üçüncü tərəf həllərdən fərqli olaraq, HealthKit birbaşa iOS əməliyyat sisteminə daxil edilmişdir ki, bu da aparat səviyyəsində yüksək performans və təhlükəsizlik təmin edir. Tətbiqlərin bir-birinə birbaşa çıxışı yoxdur — bütün əməliyyatlar mərkəzi HKHealthStore vasitəsilə aparılır.

Apple WWDC 2024 məlumatlarına görə, ABŞ-da iPhone istifadəçilərinin 87%-dən çoxu məhz HealthKit-ə əsaslanan daxili Sağlamlıq tətbiqindən ən azı bir dəfə istifadə edib. Ekosistem fitnes trekerlərdən telemedisina xidmətlərinə qədər minlərlə üçüncü tərəf tətbiqi əhatə edir.

HealthKit arxitekturası

HealthKit arxitekturası hər məlumat mənbəyi üçün təcrid olunmuş konteynerləri olan çoxsəviyyəli anbar prinsipi əsasında qurulmuşdur. Aşağı səviyyədə aparat AES-256 ilə şifrələnmiş SQLite verilənlər bazası yerləşir. Yuxarı səviyyədə HKHealthStore — vahid qarşılıqlı əlaqə interfeysi yerləşir.

Hər yazı meta-məlumatları ehtiva edir: HKSource mənbəyi, HKDevice cihazı, tarix, vaxt və iCloud-dan sinxronizasiya bayrağı. Sistem bir mənbədən təkrarlanan yazıları avtomatik deduplikasiya edir, statistikanın təhrif olunmasının qarşısını alır.

Məlumatlar növlərə görə qruplaşdırılır — HKQuantityType rəqəmsal göstəricilər üçün (nəbz, addımlar, kalorilər) və HKCategoryType kateqoriyalı hadisələr üçün (yuxu, simptomlar, menstruasiya dövri). Bu struktur HKSampleQuery və ya HKStatisticsQuery vasitəsilə parametrlərin istənilən kombinasiyasını çevik şəkildə sorğualmağa imkan verir.

HealthKit-də məlumat növləri

HealthKit 100-dən çox standartlaşdırılmış məlumat növünü dəstəkləyir, kateqoriyalara bölünür: fiziki fəaliyyət, qidalanma, yuxu, ürək-damar sistemi, reproduktiv sağlamlıq, laboratoriya göstəriciləri və həyati əlamətlər. Hər növün HKUnit ölçü vahidi və giriş səviyyəsi var.

Dewelopers həmçinin HKCorrelation vasitəsilə xüsusi korrelyasiyalar yarada bilər — əlaqəli ölçülər qrupu. Məsələn, yemək qeydi vahid obyekt kimi kaloriliyi, zülalları, yağları və karbohidratları əhatə edə bilər. Ardıcıl ölçülər, məsələn qlükoza səviyyəsi üçün HKSeriesSample istifadə olunur.

HealthKit ilə iş HKHealthStore-un təyin edilməsi ilə başlayır — freymvork idxal edilərkən avtomatik yaradılan sinqlton. Store vasitəsilə tətbiq platformanın cihazda mövcud olub-olmadığını yoxlayır, çünki iPad və iPod touch-da dəstək olmaya bilər. Həmçinin qeyd etmək vacibdir ki, HealthKit Mac Catalyst-də mövcud deyil — macOS üçün ayrıca tətbiq tələb olunur.

swift
import HealthKit

let healthStore = HKHealthStore()

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

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

let typesToRead: Set = [stepType, heartRateType]

HealthKit necə işləyir

HealthKit məlumat mənbələri ilə tətbiqlər arasında vasitəçi kimi çıxış edir, asinxron nəşr-abunə modelindən istifadə edir. Mənbə tətbiq HKHealthStore vasitəsilə məlumat yazır, abunəçi tətbiqlər isə fonda işləyən HKObserverQuery vasitəsilə yeni yazılar haqqında bildirişlər alır.

Freymvork iCloud vasitəsilə fond sinxronizasiyasını dəstəkləyir: istifadəçi daxil olubsa, HealthKit avtomatik olaraq məlumatları bütün Apple cihazlarına real vaxt rejimində yayır. Şəbəkə olmadıqda dəyişikliklər lokally buferləşdirilir və əlaqə bərpa edilərkən məlumat itkisi olmadan sinxronlaşdırılır.

Apple məlumatlarına görə, iPhone və Apple Watch arasında sinxronizasiya gecikməsi aktivlik məlumatları üçün 30 saniyədən azdır. Digər növlər üçün — yuxu, qidalanma, laboratoriya göstəriciləri — sinxronizasiya batareyaya qənaət etmək üçün 15 dəqiqəyə qədər interval ilə cədvəl üzrə baş verir.

HKHealthStore və məlumat əməliyyatları

HKHealthStore — bütün əməliyyatların yerinə yetirildiyi mərkəzi sinqlton: saveObject vasitəsilə yazma, execute vasitəsilə oxuma və deleteObject vasitəsilə silmə. Hər əməliyyat asinxrondur və nəticəni closure vasitəsilə qaytarır ki, bu da səhvlərin düzgün idarə edilməsini tələb edir.

Sorğular bir neçə növə bölünür: HKSampleQuery meyarlara görə yazıları seçmək üçün, HKStatisticsQuery cəmi, ortalama, minimum, maksimum kimi aqreqasiya edilmiş məlumatlar üçün və HKObserverQuery real vaxtda dəyişiklikləri izləmək üçün. Dövri fond yeniləmələri üçün HKHeartbeatSeriesQuery istifadə olunur.

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)

HealthKit-in tətbiqə inteqrasiyası

HealthKit inteqrasiyası Xcode-da HealthKit capability birşdirilməsi və layihəyə entitlement əlavə edilməsi ilə başlayır. Bundan sonra tətbiq requestAuthorization çağırışı vasitəsilə konkret məlumat növlərinə giriş icazəsi tələb edir. Vacib: HealthKit simulatorunda mövcud deyil və iOS olan fiziki cihaz tələb edir.

inteqrasiya prosesi üç mərhələdən ibarətdir: məlumat növlərinin müyyən edilməsi, avtorizasiya tələbi və oxuma və yazma əməliyyatlarının yerinə yetirilməsi. Hər mərhələ asinxrondur və səhvləri idarə etməlidir — istifadəçi açarlarla sistem dialoqunda istənilən məlumat növünə giriş tələbini rədd edə bilər.

Apple tədqiqatlarına görə, HealthKit inteqrasiyası olan tətbiqlər istifadəçi cəlbolunmasında 40% daha yüksək səviyyə göstərir. Uğurun açar amili avtorizasiya tələbinin təsvirində tətbiqin konkret sağlamlıq məlumatlarına niyə ehtiyacı olduğunu izah etməkdir.

Avtorizasiya tələbi

Avtorizasiya tələbi ilk işə salınmada bir dəfə yerinə yetirilir. Tətbiq iki dəst növü göstərir — oxuma və yazma üçün. İstifadəçi hər məlumat növü üçün açarları olan sistem dialoqunu görür və lazımsız kateqoriyaları qadağan edərək girişi seçmə şəkildə verə bilər.

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("Səlahiyyət alındı")
    }
}

HealthKit təhlükəsizliyi

HealthKit aparat şifrələmə, tətbiq sandbox və dənəvi icazələr daxil olmaqla çoxsəviyyəli təhlükəsizlik modelini həyata keçirir. Bütün sağlamlıq məlumatları cihazda şifrələnmiş formada saxlanılır və bir dəfə tələb edilən ayrıca istifadəçi razılığı olmadan iCloud-a ötürülmür.

Əsas xüsusiyyət — Intent mexanizmi: tətbiqin məlumatlara daimi fon girişi yoxdur. Hər oxuma və ya yazma tələbi əməliyyat sistemi tərəfindən yoxlanılır və istifadəçi istənılən vaxt Tənzimləmələr — Məxfilik — Sağlamlıq vasitəsilə tətbiqi yenidən quraşdırmadan icazəni ləğv edə bilər.

Apple HealthKit istifadəsini App Store Review Guidelines-də ciddi şəkildə tənzimləyir. Tətbiq açıq razılıq olmadan HealthKit məlumatlarını üçüncü tərəflərə ötürə, reklam və ya hədəfləmə üçün istifadə edə və ya bəyan edilmiş funksionallıq üçün zəruri olandan daha uzun saxlaya bilməz.

Limitlər və məhdudiyyətlər

HealthKit bir sıra məhdudiyyətlərə malikdir: cihazda maksimal verilənlər bazası ölçüsü — 1 QB, bir sorğuda yazıların sayı limiti — 1000, eyni məlumat növləri arasında minimal interval — 1 saniyə. Freymvork həmçinin fon yeniləmələrini məhdudlaşdırır — günlük 60-dan çox HKObserverQuery işləməsi.

Bu məhdudiyyətlər performansla kompensasiya olunur: 1000 yazının oxunması orta hesabla 50–100 millisaniyə ərzində baş verir, bir yazının yazılması isə 10 millisaniyədən az çəkir. Böyük həcmli məlumatlar üçün ayrı-ayrı yazıları seçmək əvəzinə öncədən aqreqasiya ilə HKStatisticsCollectionQuery istifadə etmək tövsiyə olunur. HealthKit sorğuları asinxron emal edir — tətbiq HKHealthStore-dan məlumat gözləyərkən bloklanmır.

Tez-tez verilən suallar

Hansı cihazlar HealthKit-i dəstəkləyir?

HealthKit iOS 8 və daha yeni olan bütün cihazlarda, o cümlədən iPhone, iPad və iPod touch-da dəstəklənir. Apple Watch qoşulmuş iPhone vasitəsilə avtomatik məlumat ötürür. Üçüncü tərəf cihazlar — fitnes bilərziklər, tərəzilər, təzyiq monitorları — müvafiq tətbiq olduqda HealthKit API vasitəsilə məlumat yaza bilər.

HealthKit-dən məlumatları ixrac etmək olar?

Bəli, Sağlamlıq tətbiqi „Sağlamlıq məlumatlarının ixracı” funksiyası vasitəsilə bütün məlumatları XML formatında ixrac etməyə imkan verir. Dewelopers HKSampleQuery vasitəsilə istənilən icazə verilmiş növü proqramlı oxuya və öz formatına ixrac edə bilər. Sağlamlıq məlumatları istifadəçinin açıq razılığı olmadan üçüncü tərəf serverlərə ötürülə bilməz.

HealthKit məlumatların silinməsini necə idarə edir?

İstifadəçi məlumatları Sağlamlıq tətbiqi və ya onları yazan mənbə tətbiq vasitəsilə silə bilər. Silindikdən sonra məlumatlar bərpa edilmir — HealthKit-in zibili yoxdur. Silmə əməliyyatı geri döndürülməzdir, ona görə tətbiqlərə deleteObject yerinə yetirməzdən əvvəl təsdiq tələb etmək tövsiyə olunur.

HealthKit ResearchKit-dən nə ilə fərqlənir?

HealthKit istifadəçinin sağlamlıq məlumatlarının saxlanması və mübadiləsi üçün nəzərdə tutulub, ResearchKit isə tibbi tədqiqatların aparılması üçün freymvorkdur. ResearchKit HealthKit-i məlumat mənbələrindən biri kimi istifadə edir, lakin məlumatlı razılıq, sorğu vərəqləri və tədqiqat məlumatlarının toplanması üçün aktiv tapşırıq modulları əlavə edir.

HealthKit üçün App Store-da xüsusi icazə lazımdır?

Bəli, HealthKit istifadə edən tətbiqlər App Store Review Guidelines, bölmə 5.1.1 — Medical and Health Data tələblərinə cavab verməlidir. Tətbiqdə məlumatların istifadəsinin aşkar təsviri, məxfilik siyasəti, məlumatların reklam məqsədli istifadəsinin qadağanı və şəbəkə üzrə ötürülmə zamanı şifrələmə tələb olunur.

Nəticə

  • HealthKit — 2014-cü ildə təqdim edilmiş, iOS-da sağlamlıq məlumatlarını idarə etmək üçün standart Apple freymvorku.
  • HKHealthStore — sağlamlıq məlumatlarının saxlanması, oxunması və silinməsi üçün mərkəzi interfeys.
  • Platforma fiziki fəaliyyətdən laboratoriya analizlərinə qədər 100-dən çox məlumat növünü dəstəkləyir.
  • Məlumat məxfiliyi aparat AES-256 şifrələməsi və dənəvi icazələrlə təmin edilir.
  • Apple cihazları arasında sinxronizasiya iCloud vasitəsilə 30 saniyədən az gecikmə ilə baş verir.
  • inteqrasiya Xcode-da entitlement qurulmasını və istifadəçidən məcburi avtorizasiya tələbini tələb edir.
  • Təhlükəsizlik HealthKit sistem məxfilik parametrləri və App Store qaydaları ilə idarə olunur.

Açar təslim mobil tətbiq hazırlayacağıq

IT Sectr 2017-ci ildən startaplar və bizneslər üçün iOS və Android tətbiqləri yaradır. Sizə məsləhət verəcəyik və ən yaxşı həlli təklif edəcəyik.

Layihəni müzakirə et

Həm də oxuyun