基于 React 构建可同时运行于 Android、iOS 和 Web 的通用原生应用的开源框架。
appeeky/expo-healthkit
为 Expo / React Native 提供统一的 HealthKit 与 Health Connect API。
- Star
- 108
- Fork
- 8
- 未关闭 Issue
- 1
- 最近提交
- 11天前
这是什么?
@appeeky/expo-healthkit 是一个基于 Expo Modules API 的原生模块,用一套 JavaScript 接口同时对接 iOS HealthKit 与 Android Health Connect。应用代码始终传 Apple 的类型标识符,映射由原生层完成,步数、心率、睡眠、体重、血压等已映射类型无需写平台分支。
查询覆盖数量样本、分类样本、训练、统计聚合与分时段统计,以及 iOS 独有的心电图、活动圆环、临床 FHIR 记录、听力图和训练 GPS 轨迹;写入支持保存采样数据、训练和血压等相关性并删除对象。增量同步通过不透明 anchor 实现,Android 上首次分页读取,之后走 Health Connect 变更记录。
配置插件负责 HealthKit entitlement 与 Health Connect 权限声明,并把 minSdk 提到 26。需要 Expo SDK 53+ 的开发构建(Expo Go 不可用)、iOS 16.4+、Android 8+。
核心功能
- 01两端统一 API:同一套方法和 Apple 类型标识符在 iOS 与 Android 通用,映射在原生层完成。
- 02查询数量样本、分类样本、训练与统计聚合,并可用 queryStatisticsCollection 按小时或按天分桶。
- 03iOS 专属查询:心电图、活动圆环、FHIR 临床记录、听力图、训练 GPS 轨迹、心跳序列与相关性。
- 04通过 queryAnchored 做增量同步,返回 added、deleted、anchor 与 hasMore 支持分页补拉。
- 05写入与删除:saveQuantitySample、saveCategorySample、saveWorkout、saveCorrelation 和 deleteObjects。
- 06后台更新:observe、addUpdateListener 与 enableBackgroundDelivery,应用被系统重新拉起时会重新注册观察者。
- 07配置插件声明 HealthKit 权限文案与 Health Connect uses-permission,并把 minSdk 提升到 26。
- 08错误码区分平台(ERR_HEALTHKIT_UNSUPPORTED、ERR_HEALTH_CONNECT_UNSUPPORTED、ERR_HEALTH_CONNECT_ANCHOR_EXPIRED),无需写 Platform.OS 判断隐藏入口。
适用场景
- 健身应用读取当日步数、心率或睡眠数据。
- 构建体重、血压、体成分等趋势的健康面板。
- 把应用内记录的训练和采样数据写回 HealthKit 或 Health Connect。
- 用 anchor 增量查询把用户健康数据同步到自己的服务端。
- 在 iOS 展示心电图、活动圆环等 Apple 专属数据,Android 上自动隐藏。
快速上手
- 1
使用 Expo 安装该包
npx expo install @appeeky/expo-healthkit - 2
在 app.json 或 app.config.ts 中添加配置插件
- 3
重新生成原生代码并在开发构建中运行
npx expo prebuild --clean
使用前须知
- 健康数据 API 无法在 Expo Go 中运行,需要使用开发构建。
- 需要 iOS 16.4 及以上并在 Apple 开发者后台启用 HealthKit 功能,或 Android 8 及以上并安装 Health Connect。
- 元数据中未声明明确许可证(NOASSERTION),使用前请先确认许可条款。
- iOS 的读取授权状态不透明,应用无法得知读取权限是否被拒绝。
收录于专题
标签
常见问题
- expo-healthkit 是什么?
- 为 Expo / React Native 提供统一的 HealthKit 与 Health Connect API。 @appeeky/expo-healthkit 是一个基于 Expo Modules API 的原生模块,用一套 JavaScript 接口同时对接 iOS HealthKit 与 Android Health Connect。应用代码始终传 Apple 的类型标识符,映射由原生层完成,步数、心率、睡眠、体重、血压等已映射类型无需写平台分支。
- expo-healthkit 可以免费使用吗?用的什么许可证?
- expo-healthkit 以 Other 许可证开源。用于商业产品前,请先确认许可证条款。
- expo-healthkit 还在维护吗?
- 活跃维护中。expo-healthkit 最近一次提交是在 2026年10月26日。
- expo-healthkit 适合用来做什么?
- 健身应用读取当日步数、心率或睡眠数据。 构建体重、血压、体成分等趋势的健康面板。 把应用内记录的训练和采样数据写回 HealthKit 或 Health Connect。 用 anchor 增量查询把用户健康数据同步到自己的服务端。 在 iOS 展示心电图、活动圆环等 Apple 专属数据,Android 上自动隐藏。
- expo-healthkit 怎么安装和运行?
- 使用 Expo 安装该包: npx expo install @appeeky/expo-healthkit 在 app.json 或 app.config.ts 中添加配置插件 重新生成原生代码并在开发构建中运行: npx expo prebuild --clean
- 在哪里获取 expo-healthkit?
- 源代码和安装说明在 GitHub 上:https://github.com/appeeky/expo-healthkit
概要由 AI 根据项目 README 生成;GitHub 数据每日更新。
相关项目
Expo 官方推出的 AI 智能体技能集,帮助编程助手构建、部署、升级和调试 Expo 应用。
为 React Native 应用提供 Lottie 启动动画,在 JS 包加载前即由原生层播放。
Cherry Studio 的 iOS 与 Android 移动端,可与多个 AI 模型对话、运行智能体、连接 MCP 工具并生成图片。
Bangumi 番组计划的第三方移动端客户端,基于 React Native 开发,支持 Android 与 iOS。
使用 React 构建原生 Android、iOS 等应用的框架,界面由原生组件渲染。