大家好,最近做了一个 iOS App ,叫 Workout Narrator 。
起因是我在家折腾项目时,经常需要等 Agent 写代码、跑测试或者操作模拟器。
短则两三分钟,长则十几分钟。继续坐着刷手机有点浪费,但起来做几组深蹲、俯卧撑,又要自己计时、记次数和组数,还得不时看屏幕。
于是我做了这个 App ,想法很简单:让它通过语音带着我练,我只管做动作。
Workout Narrator 目前支持:
- 定时动作,例如平板支撑 30 秒
- 次数动作,例如深蹲 15 次
- 准备和休息阶段
- 重复分组和嵌套训练结构
- 训练中的语音提示和进度播报
- 暂停、继续以及跳过当前动作
- 英文和简体中文
使用时可以先编辑一套训练计划。开始以后,App 会告诉我现在做什么、还剩多久,以及接下来是什么动作。
我的目标不是做一个需要一直盯着数据的健身 App ,而是尽量减少训练过程中的操作。尤其适合等 Agent 、开会间隙或者工作中途,随手做几组简单训练。
这也是我做的第三个 iOS App 。
前两个使用 React Native ,这次因为基本没有维护 Android 的需求,改成了原生 Swift 和 SwiftUI 。虽然失去了 Expo 的热更新,但系统界面、语音播报和 iOS 平台能力整合起来更直接。
开发过程大量使用了 GPT 和 Claude 。
我主要负责确定需求、产品边界和验收效果。Agent 会完成代码实现、运行测试、启动 iOS Simulator 、截图检查,然后继续修改。现在常规功能已经可以形成比较完整的开发闭环,复杂动画仍然需要人工观察和沟通。
发布流程也做了一些自动化:
- 用一台旧 MacBook 作为 CI Runner
- Fastlane 和 App Store Connect CLI 负责构建与发布
- 打 Tag 后自动构建并上传 TestFlight
- OpenCode + GLM 根据 commit message 生成候选 changelog ,再审计相关代码
- 自动生成中英文 TestFlight 测试说明
第一个版本因为 App 审核信息没有填写完整,被拒绝过一次。补充以后又等了三天才上线。后续提交 0.2.1 时比较顺利,大约三个小时就通过了审核。
目前 App 已经上架:
App Store: https://apps.apple.com/app/id6795447541
不过上架之后才发现,写代码反而是最熟悉的部分,判断这个东西对别人有没有用才更难。
如果你也经常需要等 Agent 跑任务,我比较想知道:
- 你会不会利用这段时间起来活动一下?
- 训练时通过语音提示动作和进度,对你有没有帮助?
- 你更希望自己编辑计划,还是直接使用现成的短训练?
- 目前的计划编辑方式是否显得太复杂?
如果有人愿意试用,非常欢迎直接反馈。SwiftUI 、Agent 开发流程和 TestFlight 自动化方面的问题,也可以一起交流。