MBHealthTracker
目标
- 使使用 HealthKit 的项目变得简单。
- 便于集成健康数据。
- 为 iOS 开源社区提供一个开源项目。
- 帮助他人了解 HealthKit。
安装
MBHealthTracker 通过 CocoaPods 提供。要安装它,只需将以下行添加到 Podfile 中: 需要 iOS 15.4 及以上版本
pod 'MBHealthTracker'
MBHealthTracker 通过 Swift Package Manager 提供,无论是在 Xcode 中还是 Package.swift 中
.package(url: "https://github.com/matybrennan/MBHealthTracker", from: "2.1.0"),
入门
HealthKit的配置
通过“能力”下的项目添加健康组件
将以下代码添加到您的info.plist中
<key>NSHealthShareUsageDescription</key>
<string>Health want to read your health data</string>
<key>NSHealthUpdateUsageDescription</key>
<string>Health wants to write your progress to health store</string>
指南
包含所有业务逻辑的主驱动程序是MBHealthTracker
,可以通过MBHealthTrackerProtocol
注入到您的服务中
MBHealthTracker
包含以下所有服务
let tracker = MBHealthTracker()
let configuration = tracker.configuration
如果没有需要所有服务,您也可以只注入需要的协议
let configuration = ConfigurationService()
MyService -> init(configuration: ConfigurationServiceProtocol)
let myService = MyService(configuration: configuration)
配置
- 请求授权
- 展示HealthKit应用
var configuration: ConfigurationServiceProtocol
睡眠
- 睡眠
- 保存睡眠条目
var sleep: SleepServiceProtocol
正念
- 正念会话
- 保存正念条目
var mindful: MindfulnessServiceProtocol
特征
- 生物性别
- 血型
- 出生日期
- 皮肤类型
- 是否使用轮椅
变量 characteristics: CharacteristicServiceProtocol
ActivityManager
ActivityManager
包含以下所有服务,如果你只需要这项服务,可以使用 ActivityManagerProtocol
注入到你的服务中
let activityManager = ActivityManager()
let activeEnergy = activityManager.activeEnergy
或者使用 MBHealthTracker
let tracker = MBHealthTracker()
let activeEnergy = tracker.activityManager.activeEnergy
ActiveEnergy
根据时间间隔划分区域以收集数据
- 今天,本周,betweenTime
变量 activeEnergy: ActiveEnergyServiceProtocol
Steps
根据时间间隔划分区域以收集数据
- 过去一小时,今天,本周,betweenTime
变量 steps: StepsServiceProtocol
Workouts
- saveWorkoutItem
- workouts
- 今天,本周,all
变量 workout: WorkoutManagerProtocol
Body
- basalBodyTemperature
- bodyFatPercentage
- bodyMassIndex
- bodyTemperature
- height
- electrodermalActivity
- leanBodyMass
- waistCircumference
- weight
变量 body: BodyServiceProtocol
Nutrition
- macronutrients
- minerals
- ultratrace minerals
- vitamins
- hydration
- caffeine
var nutritionService: 营养服务协议
心
- 心跳频率 (timeIntervals -> current, today, thisWeek, all, between times)
var heart: 心跳服务协议
周期追踪
- 腹部绞痛
- 腹胀
- 乳腺疼痛
- 宫颈粘液质量
- 月经量
- 情绪变化
- 排卵
- 怀孕检测结果
- 孕酮检测结果
- 性行为
- 点滴出血
- 阴道干涩
var cycleTracking: 周期追踪服务协议
症状
- 痤疮
- 食欲变化
- 膀胱失禁
- 身体和肌肉酸痛
- 胸部紧绷或疼痛
- 寒战
- 充血
- 便秘
- 咳嗽
- 腹泻
- 皮肤干燥
- 晕厥
- 疲劳
- 发烧
- 脱发
- 头痛
- 潮热
- 嗅觉丧失
- 味觉丧失
- 下背部疼痛
- 记忆力减退
- 恶心
- 夜晚盗汗
- 盆骨疼痛
- 心跳跳动或扑通
- 鼻塞
- 呼吸急促
- 心跳漏跳
- 睡眠变化
- 喉咙痛
- 呕吐
- 哮喘
var symptoms: 症状服务协议
呼吸
- 呼吸频率
- 用力呼气量
- 用力肺活量
- 峰值呼气流量
var respiratory: 呼吸服务协议
生命体征
- 血压
- 血糖
- 血氧
var vitals: 生命体征服务协议
其他数据
- 酒精消耗
- 酒精含量
- 洗手次数
- 吸入器使用
- 胰岛素注射
- 跌倒次数
- 刷牙次数
- 紫外线暴露
其他数据: OtherDataServiceProtocol
联系
对MBHealthTracker有任何疑问或问题?创建一个问题!
有兴趣为MBHealthTracker贡献力量?创建一个PR
使用此库的应用
将您的应用添加到使用此库的应用列表中,并提交一个PR。
许可证
MBHealthTracker可在MIT许可证下使用。