使用Appium Inspector连接iOS真机时遭遇xcodebuild返回码70错误
Appium Inspector连接iOS真机时遭遇xcodebuild返回码70错误
我完全理解被这个问题卡一整天的崩溃感——xcodebuild返回码70+WebDriverAgent(WDA)启动失败,确实是iOS真机自动化中非常棘手的典型问题。结合你已经完成的排查步骤(Xcode编译WDA成功但真机端消失、测试APP可正常安装启动、版本匹配),给你几个针对性的排查和解决方向:
优先解决WDA的真机信任与签名问题
你提到Xcode编译WDA成功后,真机上的WDA应用消失,这大概率是WDA未通过iOS的开发者信任验证。iOS 16+系统对第三方签名APP的信任要求更严格:- 编译WDA到真机后,打开iPadmini的「设置-通用-VPN与设备管理」
- 找到你的开发者账号,点击信任该账号下的所有应用(包括WDA)
- 同时建议修改WDA的Bundle ID为唯一值(默认的
com.facebook.WebDriverAgentRunner容易冲突),在Xcode的WDA项目中修改Bundle ID后,重新配置签名信息
排查WDA的端口监听与进程状态
终端日志里的ECONNREFUSED 127.0.0.1:8100说明WDA根本没在8100端口启动。可以按以下步骤验证:- 手动在Xcode中运行WDA到你的iPadmini,确保Scheme选择
WebDriverAgentRunner,目标设备为你的真机 - 在电脑终端执行
lsof -i :8100检查端口是否被占用,或者用curl http://127.0.0.1:8100/status测试能否连通WDA - 如果手动运行WDA后仍无法连通,检查Xcode的WDA项目Build Settings:确保Signing & Capabilities中,Debug和Release模式都正确配置了你的开发者Team ID与签名文件
- 手动在Xcode中运行WDA到你的iPadmini,确保Scheme选择
调整Appium与Xcode的适配配置
虽然你使用的版本(Xcode16.4/Appium2.18.0/iOS18.5)理论上兼容,但新版本Xcode偶尔会有WDA适配问题:- 执行
appium driver update xcuitest将XCUITest Driver更新到最新版,重启Appium服务 - 关闭Xcode的自动签名功能,手动指定签名文件与Team ID,避免自动签名的随机故障
- 调整Capabilities参数:将
useNewWDA改为false(新WDA启动模式在部分真机上稳定性差),同时增加wdaLaunchTimeout延长启动超时时间,参考配置如下:
{ "platformName": "iOS", "appium:automationName": "XCUITest", "appium:deviceName": "iPadmini", "appium:udid": "00008110-XXXXXXXXXXX", "appium:xcodeOrgId": "XXXXXXXXXX", "appium:xcodeSigningId": "iPhone Developer", "appium:platformVersion": "18.5", "appium:app": "/Users/path/TestApp.ipa", "appium:useNewWDA": false, "appium:wdaLaunchTimeout": 120000, "appium:showXcodeLog": true }- 执行
手动预编译WDA规避自动编译故障
不要依赖Appium自动编译WDA,先手动完成WDA的安装与验证:- 在Xcode中打开WDA项目(通常路径为
~/.appium/node_modules/appium-xcuitest-driver/node_modules/appium-webdriveragent) - 手动编译并安装WDA到你的iPadmini,确保WDA能在真机上正常打开(打开后显示空白页面即为启动成功)
- 再启动Appium服务并使用Inspector创建会话,此时Appium会复用已安装的WDA,跳过自动编译步骤
- 在Xcode中打开WDA项目(通常路径为
内容来源于stack exchange
相关产品推荐
相关产品推荐

