HealthKit 集成
Cardio Analytics HealthKit 数据类型和同步模式的完整技术参考
使用的 HealthKit 数据类型
Cardio Analytics 使用第一方标识符从 Apple HealthKit 读取 11 种心血管和活动能力指标:
心率指标
HKQuantityTypeIdentifier.heartRate- 当前心率(次/分)(Apple Docs)restingHeartRate- 静息心率基线(Apple Docs)walkingHeartRateAverage- 步行期间的平均心率
心血管指标
bloodPressureSystolic+bloodPressureDiastolic- 配对的血压读数,带相关性(Apple Docs)heartRateVariabilitySDNN- 整体 HRV 变异性(SDNN,毫秒)heartRateVariabilityRMSSD- 短期迷走神经张力(RMSSD,毫秒,如可用)oxygenSaturation- SpO₂,分数形式(0.0-1.0,显示为 %)(Apple Docs)
身体成分
bodyMass- 体重,千克(kg)height- 身高,米(m),用于计算 BMI
ECG 与房颤
electrocardiogramType- 带有HKElectrocardiogram.Classification的 ECG 记录,包括.atrialFibrillation(Apple Docs)atrialFibrillationBurden- 房颤负荷百分比(如可用,watchOS 9+)(Apple Docs)
健康与活动能力指标
vo2Max- 最大摄氧量(mL/kg/min)(Apple Docs)walkingSpeed- 平均稳定步行速度(m/s)(Apple Docs)walkingAsymmetryPercentage- 步态不平衡百分比(Apple Docs)stairAscentSpeed- 爬楼梯速度(m/s)(Apple Docs)
后台同步模式
锚定对象查询
HKAnchoredObjectQuery 实现增量同步,仅获取自上次同步以来的新数据或修改的数据(Apple Docs)。
- 高效电池使用 - 仅获取已更改的数据,而非整个数据集
- 持久锚点 - 存储上次同步点以在应用重启后恢复
- 处理删除 - 接收已删除的样本以实现准确同步
后台交付
HKHealthStore.enableBackgroundDelivery 允许 HealthKit 在新数据可用时自动唤醒应用(Apple Docs)。
- 即时更新 - 无需手动刷新即可获取新鲜的心血管数据
- 电池效率 - 系统管理的唤醒最小化电力消耗
- 可靠交付 - 即使应用关闭也能工作
📱 需要权限:com.apple.developer.healthkit.background-delivery(Docs)
回写功能
用户输入的数据(体重、血压)可以回写到 HealthKit,以在所有健康应用和设备之间保持一致性。
- 统一的健康记录 - 在 Cardio Analytics 中输入的数据显示在 Apple Health 中
- 临床医生可见性 - 使用连接 HealthKit 的系统的医生可以看到一致的记录
- 跨应用兼容性 - 其他健康应用可以访问您的 Cardio Analytics 条目
- 设备归属 - HealthKit 跟踪哪个应用/设备记录了每个样本
隐私与细粒度权限
HealthKit 授权是细粒度的 - 用户单独批准或拒绝每种数据类型。Cardio Analytics 尊重所有权限决定:
- 细粒度读/写权限 - 用户选择共享哪些指标
- 不访问未授权类型 - HealthKit 强制执行权限边界
- 随时可撤销 - 用户可以在 iOS 设置 → 隐私 → 健康中更改权限
- 不传输到服务器 - 所有数据保留在设备上;HealthKit 授权不授予服务器访问权限