MBHealthTracker 2.2.0

MBHealthTracker 2.2.0

Maty Brennan 维护。



  • matybrennan

MBHealthTracker

CI Status Version License Platform

目标

  • 使使用 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许可证下使用。