Route B · Shortcuts 跑通手册(iPhone 实时转写 + Watch best-effort 触发)
Route B
iPhone Realtime
Watch Best-effort
Focus / Shortcuts / Siri
M0
Watch 点一下 → iPhone 通知
成功信号
Focus 状态变化 + REC ON/OFF
M1
把通知替换为打开 URL
底线
不承诺口袋 100% 唤起开麦
这页按你的“路线 B”合同写:iPhone 端负责“确定性能力”(录音+实时转写+存储+清理),Watch 端只负责 best-effort 触发(能触发最好,触发不了也要让失败可见)。
M0 · Smoke Test
先跑通:Watch → iPhone 的“无提示链路”
你要做的 4 步(只验证链路,不碰开麦)
- iPhone:新建 Focus:
Recording。 - iPhone:自动化(当 Recording 开启时)→ 动作:
显示通知:REC ON(尽量关闭“运行前询问”)。 - iPhone:自动化(当 Recording 关闭时)→ 动作:
显示通知:REC OFF。 - Watch:创建快捷指令
REC Toggle(切换 Recording Focus),并加到表盘 Complication。
验收(必须可复现)
- 锁屏:Watch 点一下 → iPhone 出现 REC ON;再点一下 → REC OFF。
- 每个方向各做 3 次:如果有一次失败,就先修链路(蓝牙/同 Apple ID/快捷指令权限/自动化设置)。
- 若自动化无法关闭“运行前询问”:路线 B 会退化为 best-effort(需要你手动点确认)。
M1 · Connect
把“信号”接到“录音转写”(Route B)
理想(能无提示执行时)
- iPhone 自动化:把“显示通知”替换为:
打开 URL→voicetranscribe://toggle。 - App 处理 deep link 后开始/停止录音,并立刻给“已开始/已停止”的可见反馈(通知/状态)。
保底(最稳,适配 best-effort)
- 自动化继续只做:通知/震动提示“点开 App 开始/结束”。
- 真正一键入口放在 iPhone:Action Button / 锁屏小组件 / Back Tap。
原始手册(全文)
# Shortcuts 跑通手册(iPhone 快捷启动 + Apple Watch 一键) 你现在要先“跑通”的是两条链路: 1) **iPhone**:快捷启动「录音 + 转写」 2) **Apple Watch**:用快捷指令/表盘 Complication 一键触发 iPhone 开始/停止(或至少能触发 iPhone 自动化) 这份手册按“先验证系统能力 → 再接入录音转写”的顺序写,避免一上来就卡在 iOS 的锁屏/后台限制上。 --- ## 0. 现实边界(先说清楚,避免白折腾) ### A) “手表一键 → iPhone 立刻开始用 iPhone 麦克风录音(且 iPhone 锁屏在口袋)” 这件事**不保证可行**,原因不是你不会写,而是 iOS 的安全/后台策略: 即使你从 Watch 触发了 iPhone 的某个快捷方式/自动化,**涉及打开 App/使用麦克风**时,常见结果是需要 iPhone 解锁、或无法在后台启动录音。 ### B) 你依然可以先跑通什么? 你至少可以先跑通两种“可靠”的体验: - **可靠路径 1(推荐先跑通)**:Watch 一键触发 iPhone **Focus 模式** → iPhone 自动化“无提示执行”→ iPhone 弹提示/打点(验证链路通) - **可靠路径 2(零代码)**:Watch 直接录音(Watch 麦克风),iPhone 负责后续转写/归档(受限最少) 如果你坚持“必须 iPhone 麦克风 + 锁屏口袋一键”,最终大概率还是要走**自建 App + Background Audio +(最好有)watch App/Complication**,而这会牵涉安装/签名。 --- ## 1) 先跑通:Watch → iPhone 的“无提示链路” 目标:你按一下手表,手机哪怕在口袋里/锁屏,也能**自动发生一个可见动作**(Focus 变化/通知/震动)。 ### 1.1 在 iPhone 上创建一个 Focus:`Recording` `设置` → `专注模式` → `+` 新建一个(名称比如 `Recording`)。 ### 1.2 在 iPhone 上做一个个人自动化(关键) `快捷指令` App → `自动化` → `创建个人自动化`: - 触发器:`专注模式` → `Recording` → `开启时` - 动作:先放一个最“无争议”的动作验证链路,例如: - `显示通知`(内容:`Recording Focus ON`) - 或 `开始计时器` 1 秒 - 关闭 `运行前询问`(如果系统允许的话) 这一步的意义:**先确认“手表能让 iPhone 自动执行”**,不要一上来就用“打开 App/录音”这种高权限动作。 ### 1.3 在 Watch 上创建快捷指令:一键开/关 Focus `快捷指令` App(iPhone)里新建快捷指令,例如 `REC Toggle`: - 动作:`切换专注模式` → 选择 `Recording` - 在快捷指令详情里打开:`在 Apple Watch 上显示` 然后在 Watch 上: - 把该快捷指令加到 `表盘 Complication`(Complication 选 `快捷指令`,再选你的 `REC Toggle`) - 测试:点一下 Complication → iPhone 是否自动出现通知/计时器变化/Focus 状态变化 如果这一步都跑不通,后续任何“手表触发手机录音”都跑不通;先把连接/设置问题解决(蓝牙、同 Apple ID、快捷指令是否允许在 Watch 上运行等)。 --- ## 2) iPhone 快捷启动:最快可用的入口(按优先级) 你要的是“锁屏放口袋也要一键开录”,iPhone 侧入口建议按以下优先级选: 1. **Action Button(如果你是 iPhone 15 Pro / 16 系列带动作按钮)**:`设置` → `动作按钮` → 选择 `快捷指令` 2. **锁屏小组件(iOS 16+)**:把一个快捷指令放到锁屏 3. **桌面图标**:快捷指令里 `分享` → `添加到主屏幕` 4. **背部轻点(Back Tap)**:`设置` → `辅助功能` → `触控` → `轻点背面` > 说明:不同入口对“是否需要解锁”体验差异很大;建议你**先用锁屏小组件/动作按钮**验证“锁屏能不能直接开始”。 --- ## 3) 把“录音转写”接上(两条路线) ### 路线 A(零代码先用起来):Shortcuts 录音 +(可选)Shortcuts 转写 适合你现在“不装 Xcode、不付费账号”的阶段。 1) 新建快捷指令:`Pocket Record` - `录制音频`(通常会立即开始录制;停止方式按界面提示) - `存储文件` → 选择一个固定目录,例如: - `在我的 iPhone 上/Shortcuts/VoiceTranscribe/Audio/` 2) 转写(取决于你系统/你安装的 App 是否提供动作) - 在 `添加动作` 里搜索 `Transcribe/转写/听写/语音转文字` - 如果系统里**有**“音频转文字/转写音频”这类动作:直接用,并把语言设为中文 - 如果系统里**没有**:需要一个提供 Shortcuts 动作的离线转写 App(很多是 Whisper 离线),把“转写结果”接到下一步 - `追加到文本文件`(建议用一个总文件):`.../Transcripts/transcripts.md` 3) 音频 10 天自动删除(每天跑一次) `快捷指令` → `自动化` → `创建个人自动化`: - 触发器:`时间` → 每天 - 动作思路: - `获取文件`(Audio 文件夹) - `筛选文件`(创建日期早于“当前日期 - 10 天”) - `删除文件` > 这条路线的优点:今天就能用;缺点:是否能“自动转写”、以及是否真能“锁屏一键启动录音”,取决于你 iOS 版本/动作权限。 ### 路线 B(你的 App:实时转写最符合目标) 适合你后面愿意把 App 装到手机上(哪怕是 sideload)。 你现在仓库里已经准备了: - URL scheme:`voicetranscribe://start|stop|toggle` - iOS 端实时识别:中文 `zh-CN`,on-device 优先,失败再网络兜底(见 `apps/voiceTranscribeMVP/samples/ios/TranscriptionManager.swift`) 接入方式: 1) iPhone 上建快捷指令 `REC Start`:动作 `打开 URL` → `voicetranscribe://start` 2) 同理建 `REC Stop` / `REC Toggle` 3) 把 `REC Toggle` 放到锁屏小组件/动作按钮/桌面图标 4) Watch 上用 Complication 运行同一个快捷指令(或运行一个只做 Focus 的快捷指令,再由 iPhone 自动化打开 URL) > 注意:这条路线是否能做到“手机锁屏口袋一键”取决于你的 App 是否启用 Background Audio、以及系统是否允许从当前入口直接唤起并开始录音。