WatchOS 9.1/iOS 16.1环境下xcodebuild运行Apple Watch失败求助
Apple Watch升级后xcodebuild命令执行失败的解决办法
问题概述
设备升级至最新版本后,针对Apple Watch执行xcodebuild命令时出现错误,但使用通用目标设备的命令可正常运行:
- 正常执行的命令:
xcodebuild -project MyApp.xcodeproj -scheme 'MyApp WatchKit App' -destination generic/platform=watchOS build - 报错的命令:
xcodebuild -workspace MyApp.xcworkspace -scheme 'MyApp WatchKit App' -destination 'platform=watchOS,id=Watch's ID' - 错误信息:
重启并解锁设备后问题仍未解决。xcodebuild: error: The run destination My iPhone is not valid for Running the scheme 'MyApp WatchKit App'. (null) needs to connect to determine its availability. Check the connection between the device and its companion iPhone, and the connection between the iPhone and Xcode. Both devices may also need to be restarted and unlocked.
排查与解决步骤
1. 修复命令中的引号转义问题
当前报错命令的-destination参数里,设备ID包含单引号,导致shell解析出错。请改用以下两种写法之一:
# 方式1:用双引号包裹destination参数 xcodebuild -workspace MyApp.xcworkspace -scheme 'MyApp WatchKit App' -destination "platform=watchOS,id=Watch's ID" build # 方式2:转义设备ID中的单引号 xcodebuild -workspace MyApp.xcworkspace -scheme 'MyApp WatchKit App' -destination 'platform=watchOS,id=Watch'\''s ID' build
2. 检查Scheme的设备可见性与配置
- 打开Xcode,找到
MyApp WatchKit AppScheme,右键选择Edit Scheme - 在Run选项卡的Info面板中,确认Build Configuration为对应环境(如Debug),且Destination设置为Apple Watch相关选项
- 回到Scheme列表,确认该Scheme未被设置为隐藏(右键Scheme -> Show)
3. 重新验证设备配对与连接
- 打开Xcode的Window > Devices and Simulators,确认Apple Watch已被识别,状态显示为"Available"
- 若设备未识别,断开iPhone的USB连接后重新插入,或重启Xcode
- 仍无效时,在iPhone的Watch应用中执行通用 > 还原 > 抹掉Apple Watch内容和设置,重新完成配对流程(确保两台设备均解锁且连接同一网络)
4. 清理Xcode缓存与构建残留
执行以下命令清除旧缓存,避免配置干扰:
# 删除DerivedData缓存 rm -rf ~/Library/Developer/Xcode/DerivedData # 清理项目构建文件 xcodebuild clean -workspace MyApp.xcworkspace -scheme 'MyApp WatchKit App'
内容的提问来源于stack exchange,提问作者zhanch
相关产品推荐
相关产品推荐

