Das HealthKit-Framework ist eine zentrale Komponente des Apple-Gesundheitsökosystems, das Daten von iPhone, Apple Watch und Drittanbieter-Geräten in einem sicheren lokalen Speicher aggregiert. Laut Apple Developer Documentation, 2025 unterstützt die Plattform über 100 Datentypen – von körperlicher Aktivität und Schlaf bis hin zu Labortests und kardiovaskulären Indikatoren. Ein einziges Repository medizinischer Informationen gewährleistet eine nahtlose Synchronisation zwischen Anwendungen mit granularer Zugriffskontrolle für jeden Datentyp.
Wichtige Punkte
HealthKit ist ein Framework von Apple, das 2014 zusammen mit iOS 8 vorgestellt wurde und zur zentralen Verwaltung von Gesundheits- und Fitnessdaten des Benutzers dient. Die Plattform fungiert als einheitliches Repository, in das Anwendungen und Geräte medizinische Informationen schreiben und lesen können.
Im Gegensatz zu Drittanbieter-Lösungen ist HealthKit direkt in das iOS-Betriebssystem integriert, was hohe Leistung und Sicherheit auf Hardwareebene gewährleistet. Anwendungen haben keinen direkten Zugriff aufeinander – alle Operationen erfolgen über die zentrale HKHealthStore.
Laut Apple WWDC 2024 haben über 87% der iPhone-Nutzer in den USA mindestens einmal die integrierte Health-App verwendet, die auf HealthKit basiert. Das Ökosystem umfasst Tausende von Drittanbieter-Anwendungen – von Fitness-Trackern bis hin zu Telemedizin-Diensten.
Die HealthKit-Architektur basiert auf dem Prinzip eines mehrstufigen Speichers mit isolierten Containern für jede Datenquelle. Auf der unteren Ebene befindet sich eine SQLite-Datenbank, die mit hardwarebasiertem AES-256 verschlüsselt ist. Auf der oberen Ebene befindet sich der HKHealthStore – die einheitliche Interaktionsschnittstelle.
Jeder Datensatz enthält Metadaten: die Quelle HKSource, das Gerät HKDevice, Datum, Uhrzeit und ein iCloud-Synchronisations-Flag. Das System dedupliziert automatisch doppelte Einträge von derselben Quelle und verhindert so Datenverzerrungen.
Daten werden nach Typen gruppiert – HKQuantityType für numerische Indikatoren (Herzfrequenz, Schritte, Kalorien) und HKCategoryType für kategoriale Ereignisse (Schlaf, Symptome, Menstruationszyklus). Diese Struktur ermöglicht flexible Abfragen beliebiger Parameterkombinationen über HKSampleQuery oder HKStatisticsQuery.
HealthKit unterstützt über 100 standardisierte Datentypen, die in Kategorien unterteilt sind: körperliche Aktivität, Ernährung, Schlaf, Herz-Kreislauf-System, reproduktive Gesundheit, Laborergebnisse und Vitalparameter. Jeder Typ hat eine HKUnit-Maßeinheit und eine Zugriffsebene.
Entwickler können über HKCorrelation auch benutzerdefinierte Korrelationen erstellen – eine Gruppe verwandter Messungen. Beispielsweise kann ein Essensprotokoll Kalorien, Proteine, Fette und Kohlenhydrate als ein einziges Objekt enthalten. Für sequenzielle Messungen wie Glukosespiegel wird HKSeriesSample verwendet.
Die Arbeit mit HealthKit beginnt mit der Definition von HKHealthStore – einem Singleton, der beim Importieren des Frameworks automatisch erstellt wird. Über den Store prüft die Anwendung, ob die Plattform auf dem Gerät verfügbar ist, da die Unterstützung auf iPad und iPod touch fehlen kann. Es ist auch wichtig zu beachten, dass HealthKit auf Mac Catalyst nicht verfügbar ist – für macOS ist eine separate Implementierung erforderlich.
import HealthKit
let healthStore = HKHealthStore()
let stepType = HKQuantityType
.quantityType(forIdentifier: .stepCount)
let heartRateType = HKQuantityType
.quantityType(forIdentifier: .heartRate)
let typesToRead: Set = [stepType, heartRateType]
HealthKit fungiert als Vermittler zwischen Datenquellen und Anwendungen und verwendet ein asynchrones Veröffentlichungs-Abonnement-Modell. Die Quellanwendung schreibt Daten über HKHealthStore, und abonnierende Anwendungen erhalten Benachrichtigungen über neue Einträge über HKObserverQuery, das im Hintergrund läuft.
Das Framework unterstützt Hintergrundsynchronisation über iCloud: Wenn der Benutzer angemeldet ist, verteilt HealthKit automatisch Daten in Echtzeit an alle Apple-Geräte. Bei fehlendem Netzwerk werden Änderungen lokal zwischengespeichert und bei Wiederherstellung der Verbindung ohne Datenverlust synchronisiert.
Laut Apple beträgt die Synchronisationsverzögerung zwischen iPhone und Apple Watch weniger als 30 Sekunden für Aktivitätsdaten. Für andere Typen – Schlaf, Ernährung, Laborergebnisse – erfolgt die Synchronisation planmäßig in Abständen von bis zu 15 Minuten, um den Akku zu schonen.
HKHealthStore ist das zentrale Singleton, über das alle Operationen ausgeführt werden: Speichern über saveObject, Lesen über execute und Löschen über deleteObject. Jede Operation ist asynchron und gibt ein Ergebnis über einen Closure zurück, was eine ordnungsgemäße Fehlerbehandlung erfordert.
Abfragen werden in mehrere Typen unterteilt: HKSampleQuery zum Abrufen von Datensätzen nach Kriterien, HKStatisticsQuery für aggregierte Daten – Summe, Durchschnitt, Minimum, Maximum – und HKObserverQuery zur Echtzeit-Verfolgung von Änderungen. Für regelmäßige Hintergrundaktualisierungen wird HKHeartbeatSeriesQuery verwendet.
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)
Die Integration von HealthKit beginnt mit Aktivieren der HealthKit-Funktion in Xcode und Hinzufügen des Berechtigungsnachweises zum Projekt. Danach fordert die Anwendung über den requestAuthorization-Aufruf die Berechtigung zum Zugriff auf bestimmte Datentypen an. Wichtig: HealthKit ist nicht im Simulator verfügbar und erfordert ein physisches Gerät mit iOS.
Der Integrationsprozess umfasst drei Phasen: Definieren der Datentypen, Anfordern der Autorisierung und Durchführen von Lese- und Schreiboperationen. Jede Phase ist asynchron und muss Fehler behandeln – der Benutzer kann den Zugriff auf jeden Datentyp im Systemdialog mit Schaltern verweigern.
Laut Apple-Forschung zeigen Anwendungen mit HealthKit-Integration eine um 40% höhere Benutzerbindung. Der entscheidende Erfolgsfaktor ist die Erklärung, warum die App bestimmte Gesundheitsdaten benötigt, in der Beschreibung der Autorisierungsanfrage.
Die Autorisierungsanfrage wird einmal beim ersten Start durchgeführt. Die Anwendung gibt zwei Typensätze an – zum Lesen und zum Schreiben. Der Benutzer sieht einen Systemdialog mit Schaltern für jeden Datentyp und kann den Zugriff selektiv gewähren und unnötige Kategorien ablehnen.
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("Autorisierung erhalten")
}
}
HealthKit implementiert ein mehrschichtiges Sicherheitsmodell mit Hardware-Verschlüsselung, Anwendungs-Sandboxing und granularen Berechtigungen. Alle Gesundheitsdaten werden verschlüsselt auf dem Gerät gespeichert und ohne separate Zustimmung des Benutzers, die einmalig eingeholt wird, nicht an iCloud übertragen.
Eine wichtige Funktion ist der Intent-Mechanismus: Die Anwendung hat keinen dauerhaften Hintergrundzugriff auf Daten. Jede Lese- oder Schreibanfrage wird vom Betriebssystem überprüft, und der Benutzer kann die Berechtigung jederzeit über Einstellungen – Datenschutz – Gesundheit widerrufen, ohne die Anwendung neu installieren zu müssen.
Apple reguliert die Verwendung von HealthKit in den App Store Review Guidelines streng. Die Anwendung darf HealthKit-Daten nicht ohne ausdrückliche Zustimmung an Dritte weitergeben, nicht für Werbung oder Targeting verwenden und nicht länger als für die angegebene Funktionalität erforderlich speichern.
HealthKit hat mehrere Einschränkungen: Die maximale Datenbankgröße auf dem Gerät beträgt 1 GB, die Grenze für die Anzahl der Datensätze in einer einzelnen Abfrage beträgt 1000 und der Mindestabstand zwischen identischen Datentypen beträgt 1 Sekunde. Das Framework begrenzt auch Hintergrundaktualisierungen – nicht mehr als 60 HKObserverQuery-Auslösungen pro Tag.
Diese Einschränkungen werden durch die Leistung ausgeglichen: Das Lesen von 1000 Datensätzen dauert durchschnittlich 50–100 Millisekunden, und das Schreiben eines einzelnen Datensatzes dauert weniger als 10 Millisekunden. Für große Datenmengen wird empfohlen, HKStatisticsCollectionQuery mit Voraggregation anstelle des Abrufens einzelner Datensätze zu verwenden. HealthKit verarbeitet Abfragen asynchron – die Anwendung wird beim Warten auf Daten von HKHealthStore nicht blockiert.
Häufig gestellte Fragen
HealthKit wird auf allen Geräten mit iOS 8 und neuer unterstützt, einschließlich iPhone, iPad und iPod touch. Die Apple Watch überträgt Daten automatisch über das gekoppelte iPhone. Drittanbieter-Geräte – Fitnessbänder, Waagen, Blutdruckmessgeräte – können über die HealthKit-API Daten schreiben, wenn eine entsprechende Anwendung vorhanden ist.
Ja, die Health-App ermöglicht den Export aller Daten im XML-Format über die Funktion „Gesundheitsdaten exportieren“. Entwickler können über HKSampleQuery programmgesteuert alle erlaubten Typen lesen und in ihr eigenes Format exportieren. Gesundheitsdaten können ohne ausdrückliche Zustimmung des Benutzers nicht an Server Dritter übertragen werden.
Der Benutzer kann Daten über die Health-App oder die Quellanwendung, die sie aufgezeichnet hat, löschen. Nach dem Löschen können Daten nicht wiederhergestellt werden – HealthKit hat keinen Papierkorb. Der Löschvorgang ist irreversibel, daher wird Anwendungen empfohlen, vor der Ausführung von deleteObject eine Bestätigung anzufordern.
HealthKit dient zum Speichern und Teilen von Benutzer-Gesundheitsdaten, während ResearchKit ein Framework für medizinische Forschung ist. ResearchKit verwendet HealthKit als eine seiner Datenquellen, fügt jedoch Module für informierte Einwilligung, Fragebögen und aktive Aufgaben zur Erfassung von Forschungsdaten hinzu.
Ja, Anwendungen, die HealthKit verwenden, müssen die App Store Review Guidelines, Abschnitt 5.1.1 – Medizinische und Gesundheitsdaten, einhalten. Erforderlich sind eine explizite Beschreibung der Datennutzung in der Anwendung, eine Datenschutzrichtlinie, ein Verbot der werblichen Nutzung von Daten und eine Verschlüsselung bei der Netzwerkübertragung.
Zusammenfassung
Wir entwickeln eine mobile Applikation schlüsselfertig
IT Sectr entwickelt seit 2017 iOS- und Android-Apps für Startups und Unternehmen. Wir beraten Sie und schlagen die beste Lösung vor.
Lesen Sie auch