iOS真机启动Appium会话失败:xcodebuild错误码65
解决iOS真机启动Appium会话时的WebDriverAgent签名报错(错误码65)
我之前在iOS真机上跑Appium的时候也踩过这个一模一样的坑,错误码65本质就是WebDriverAgent(WDA)的签名和配置没搞定,结合你提到的日志信息,给你一步步解决的方案:
核心问题拆解
你遇到的几个问题其实是连锁的:
- WebDriverAgentRunner未配置开发团队 → 导致签名失败
- iOS 11.4 SDK下UI测试包需要签名 → iOS 11+强制要求所有测试包必须有合法签名
- 找不到WebDriverAgentRunner-Runner.app文件 → 签名失败直接导致WDA没有成功编译出可执行文件
具体解决步骤
1. 手动打开WDA的Xcode项目
首先找到Appium自带的WDA项目路径:
- Intel芯片Mac:
/usr/local/lib/node_modules/appium/node_modules/appium-webdriveragent/WebDriverAgent.xcodeproj - M1/M2芯片Mac:
/opt/homebrew/lib/node_modules/appium/node_modules/appium-webdriveragent/WebDriverAgent.xcodeproj
用Xcode打开这个项目,然后在左侧导航栏选中WebDriverAgentRunner这个target。
2. 配置签名和开发团队
切换到Xcode顶部的Signing & Capabilities标签:
- 勾选
Automatically manage signing - 在
Team下拉框里选择你的苹果开发者团队(如果没显示,先在Xcode的Preferences > Accounts里登录你的Apple ID,个人账号也可以用,不需要付费开发者账号) - 等待Xcode自动生成签名配置,确保没有红色报错提示
3. 单独验证WDA能否运行
连接你的iOS真机,在Xcode顶部的设备选择器里选中你的手机,然后点击运行按钮(▶️):
- 如果真机上能成功启动一个名为
WebDriverAgentRunner的空白应用(不会闪退),说明签名配置没问题了 - 这时候你去Xcode的DerivedData目录里就能找到
WebDriverAgentRunner-Runner.app文件,路径大概是~/Library/Developer/Xcode/DerivedData/WebDriverAgent-xxxxxx/Build/Products/Debug-iphoneos/
4. 给Appium配置WDA参数(可选,避免重复配置)
在你的Appium desired capabilities里添加以下配置,让Appium自动使用正确的签名:
{ "platformName": "iOS", "deviceName": "你的设备名称", "udid": "你的设备UDID", "xcodeOrgId": "你的团队ID", // 可在苹果开发者后台或Xcode的Signing页面找到 "xcodeSigningId": "iPhone Developer", "updatedWDABundleId": "com.yourname.WebDriverAgentRunner" // 自定义唯一bundle ID,避免冲突 }
5. 清理缓存重启服务
- 关闭Xcode和Appium服务
- 删除Xcode的DerivedData(路径在
Xcode > Preferences > Locations > DerivedData,点击箭头打开文件夹后删除所有内容) - 重新启动Appium服务,再尝试启动会话
额外注意点
- 如果真机上启动WDA后闪退,去设备的
设置 > 通用 > VPN与设备管理里,找到你的Apple ID并点击信任 - 确保你的iOS版本和Xcode支持的SDK版本兼容(iOS 11.4需要Xcode 9.4及以上版本)
内容的提问来源于stack exchange,提问作者kjeraska
相关产品推荐
相关产品推荐

