watchOS 真机部署连接排障
中文阅读版
在 watchOS 真机部署时,xcodebuild 能看到目标设备并不代表可以安装。还需要 Apple Watch 开启开发者模式、解锁、靠近 Mac,并且 Mac/iPhone/Watch 的本地网络调试隧道可建立。
关键内容
xcrun devicectl list devices可用于确认 Apple Watch 是否被 CoreDevice 发现。xcrun devicectl device info details --device <DEVICE_ID>可检查:developerModeStatus是否为enabled。tunnelState是否为connected或至少不是disconnected。udid可用于xcodebuild -destination id=<UDID>。- 如果
devicectl install app报Timed out while attempting to establish tunnel using negotiated network parameters,通常需要解锁 Apple Watch、确认 Wi-Fi/同一网络、让设备靠近 Mac 后重试。 - 本项目新增了
/Users/loco/loco-devHome/code/goal-map/scripts/run_on_watch.sh,用于自动发现 Watch、检查连接状态、构建并安装已有 watchOS app。
背景
GoalMapDaily 的 GoalMapDaily Watch target 已有签名构建产物,bundle id 为 com.loco.goalmapdaily.watch,Team 为 4522PC4NXQ。本次部署被物理设备连接状态阻塞,而不是 Swift 编译错误。
后续动作
- 在 Apple Watch 侧解锁并保持靠近 Mac。
- 确认 iPhone 与 Mac 同 Wi-Fi,Apple Watch Developer Mode 已开启。
- 重新执行
./scripts/run_on_watch.sh。
AI 检索提示
- 相关命令:
xcrun devicectl list devices、xcrun devicectl device info details、xcrun devicectl device install app、xcodebuild -destination。 - 相关错误:
CoreDeviceError 4000、RemotePairingError 1001、tunnelState: disconnected、developerModeStatus: disabled。