技术概览

Gymios,
深入底层。

对架构、数据取舍和 Apple 集成的精确解读。状态标签区分了哪些已集成到代码中、哪些仍需在真实硬件上验证。

iPhone 和 Apple Watch 版 Gymios 已在 App Store 上架。Mac 版将在稍后推出。

Gymios 数据政策
  1. 01
    “健康”App兼容字段的主要来源
  2. 02
    已验证的来源设备或已确认的导入
  3. 03
    Gymios 补充仅在信息缺失时
保留来源 · 不编造任何数值
优先级规则

“健康”App 中的数据不会被覆盖。

对于“健康”App 提供的信息,Gymios 将此来源作为参考。Gymios 的数据可以补充缺失的字段,但不会悄悄替换“健康”App 中已有的数值。

  1. 01
    优先读取“健康”App

    体重、身高、睡眠、心率、心理状态或体能训练仅在获得授权后读取,并附带日期和来源。

  2. 02
    核对其他来源

    蓝牙数据、识别出的文件或导入的录入都会保留其来源。未经验证的敏感数值需等待确认。

  3. 03
    补充缺失的信息

    Gymios 的个人资料和问卷只询问缺失的信息。拒绝或跳过某项数据不会妨碍对其他信息的分析。

  4. 04
    仅在同意后写入

    户外运动、兼容的测量数据或感受只有在获得相应授权后才会添加到“健康”App。导入 Gymios 备份不会修改或删除“健康”App 中的数据。

主要来源的行为
来源角色控制会覆盖“健康”App 吗?
“健康”App兼容字段的参考按类别授予 Apple 权限不适用
设备或导入可追溯的补充测量技术和人工验证否
Gymios 录入补充缺失的信息用户的明确操作否
Gymios 分析衍生且可解释的观察时间段、来源和覆盖范围可见否
原生 Apple 架构

每个框架都有清晰的范围。

Gymios 以原生 SwiftUI App 的形式开发。系统集成彼此隔离,因此拒绝某项授权不会停用不依赖它的模块。

UI

SwiftUI

为每块屏幕适配的 iPhone、Apple Watch 和 Mac 界面,无障碍组件和原生导航。

已集成
DB

SwiftData

训练课、营养、已确认的测量数据、目标和偏好设置在本地始终可用。

已集成
HK

HealthKit

按类别读写,集中管理权限,保留来源,且不在 CloudKit 中进行整体备份。

设备验证
WC

WatchConnectivity

训练课的连续性、已规划的路线,以及能够等待连接恢复的传输队列。

真实配对验证
MK

MapKit + Core Location

GPS 轨迹、配速、分段、沿道路规划的路线、GPX 导入/导出以及户外运动库。

长时间验证
CK

私有 CloudKit

在 Apple 账户的私有数据库中,对明确授权的类别进行可选同步。

默认关闭
BT

Core Bluetooth + FTMS

检测符合标准的跑步机、单车和划船机,在型号测试前不承诺兼容性。

硬件验证
VI

Vision + OCR

在本地识别标签、食物和候选数值,确认前始终会先展示给你。

已集成
详细目录

高级功能,按领域逐一介绍。

“已集成”状态描述的是现有代码。它不能替代所注明的设备测试、制造商授权或专业验证。

⌁

训练

已集成
  • 现成训练课库、收藏和自定义训练课
  • 根据目标、水平、时长、器材和偏好进行推荐
  • 运动/休息计时器、训练课恢复和 Watch 传输
  • 动作说明、肌肉部位和动作演示
  • 包含力量训练和户外活动的目标
↗

户外运动和路线

实地验证
  • 由你开始 GPS 记录的步行、跑步和骑行
  • 距离、时间、速度、配速、暂停、爬升和分段
  • 可重命名的历史记录、收藏、1 到 5 分评分和排序
  • 在 Mac 上创建沿道路规划的路线,并传送到 iPhone/Watch
  • GPX/TCX 导入和导出、偏离提醒和受保护的恢复
♥

健康与感受

需要真实的 HealthKit
  • “健康”App 权限统一管理中心
  • 体重、身高、睡眠、心脏、恢复和可见的来源
  • 可选问卷,补充缺失的信息
  • 如有“健康”App 中的心理状态数据,则优先使用
  • 自适应观察,不编造数据,不做诊断
◒

营养

需要确认
  • 餐食日志、份量、饮水和趋势
  • 基于有来源的营养数据构建的库
  • Open Food Facts 条形码查询,不发送健康数据
  • 标签 OCR 和本地照片识别
  • 缺失的数值显示为不可用,绝不编造
◉

联网设备

逐个型号
  • 适用于兼容跑步机、单车和划船机的 FTMS
  • 通过“健康”App 连接体重秤
  • 受限的血糖导入,先隔离再确认
  • 按品牌提供配对帮助,不虚假承诺支持
  • 优先采用只读方式,避免任何意外指令
◎

社区与同意

基础已集成
  • 模块默认关闭,可随时撤销
  • 可选的用户名、私密资料和自选的可见性
  • iCloud 同步仅限非医疗类偏好设置
  • 不会自动导入通讯录
  • 私密代码、邀请、屏蔽和举报均已集成;内容审核流程需在开放前验证
★

目标与奖杯

自愿分享
  • 个人目标、连续天数和视觉庆祝
  • iPhone 和 Mac 上的竖向陈列柜,每层三个奖杯
  • 通过系统分享用户选择的摘要
  • 可选的 Game Center,仅限成就标识符和进度
  • 发布到圈子或社区,连接 Gymios HTTPS 服务,需要 Apple 登录
✓

教练角色

配置和测试进行中
  • 角色由本人声明:Gymios 不核实资质,也不要求任何证明文件
  • 专为你已经认识的教练设计,例如健身房的教练,他会用自己的代码邀请你
  • Apple 登录在服务器端验证;刷新令牌加密保存,以便在删除账户时撤销登录
  • 未经你同意不共享任何数据,逐个类别授权,并设有结束日期
✦

本地分析

实验室
  • 只交叉分析真正可用的类别
  • 观察结果附带时间段、覆盖范围和来源
  • 可选的 Apple 智能,用于对已计算出的结论重新排序
  • 模型无法直接访问“健康”App
  • 不发送任何原始医疗文件、自由备注或详细 GPS 轨迹
☁

Apple 连续互通

签名待验证
  • 小组件、复杂功能、智能叠放和实时活动
  • App Intents、Siri 快捷指令和深层链接
  • iPhone 和 Mac 空间分别自定义
  • Watch 首页提供常用快捷方式
  • 当系统新功能不可用时采用传统后备方案
社区与教练圈子

少分享,
但分享得清清楚楚。

公共社区和教练的私密跟进是两个独立的空间。启用其中一个绝不会自动获得另一个的访问权限。

01 明确启用

该模块一开始保持私密并处于关闭状态。之后由用户选择自己的用户名、可见性和每一段关系。

已集成的设置
02 自愿发布

奖杯仅在授权后发布。教练资料卡只包含已勾选的类别,并区分高度敏感的数据。

已实现,服务待部署
03 自称的教练

教练角色只是一项声明。Gymios 不核实资质:你只与自己认识的人共享。

已实现
04 细粒度同意

接收者、目的、类别、时间段和到期日期在访问前确定。服务器端撤销立即生效,并会切断共享的资料卡。

政策和服务已集成
始终不在教练共享范围内
血糖生殖健康医疗文件iCloud 中的“健康”数据

教练永远无法直接查看“健康”App。资料卡在本地根据一份封闭的已授权类别清单准备,然后在一个独立于 iCloud 的服务上加密。

数据边界

哪些数据会离开 App,哪些不会。

每个渠道都有自己的白名单。启用某项同步不会自动获得其他类别的访问权限。

本地存储

训练课、营养、已确认的测量数据、目标和工作数据保留在设备上。

默认
“健康”App

仅在 Apple 安全界面中所选的类别才会被读取或写入。

按类别
私有 iCloud

例行训练和计划安排;已规划的路线和 Gymios 记录的 GPS 历史需分别获得两项同意。从“健康”App 导入的户外运动、心率测量和心率区间、血糖和营养均被排除在外。

可选
Game Center

成就标识符和完成百分比,不包含健康测量数据或详细路线。

可选
Open Food Facts

仅通过 HTTPS 发送条形码,用于查找产品信息。

第三方服务
社区

非医疗类偏好设置保存在 iCloud 中;身份、关系、奖杯和教练资料卡保存在一个独立的服务上,敏感内容加密存储。HTTPS API 已部署;开放需等待 Apple 生产环境配置和内容审核验证。

API 已部署
证据级别

能编译不等于已验证。

技术文档将证据分为四个级别。以下步骤描述了预期的检查;硬件验证和发布验证仍在进行中。

1已集成的代码

编译功能并测试其可自动化的规则。

2模拟器

在本地检查界面和无传感器场景。

3真实硬件

在设备上检验 GPS、Watch、HealthKit、蓝牙、续航和中断情况。

4发布

检查发布版本的签名、隐私、辅助功能以及 Apple 的各项要求。

健康范围

Gymios 提供个人日志、趋势和观察。本 App 不是医疗器械,不提供诊断或治疗,也不能替代任何健康、运动或营养专业人士。

追踪各项功能的实际状态

路线图将已集成的内容、验证中的内容和未来方向区分开来。

打开路线图