You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Appium Inspector检测移动应用时遇到签名及WebDriverAgent异常问题

解决WebDriverAgent调试签名问题及Appium Inspector中WDA自动删除问题

我之前也碰到过完全一样的情况——Xcode里能启动模拟器、装应用,但WDA签名总是出问题,Appium Inspector里WDA装完秒删,折腾了好一阵才搞定。下面是亲测有效的解决方案,一步步来:

1. 先把Xcode里的签名配置捋顺

首先找到你的WebDriverAgent项目(如果是Appium自带的,路径一般是Appium安装目录/node_modules/appium-xcuitest-driver/WebDriverAgent;如果是自己克隆的仓库就找对应的文件夹),打开项目后,分别选中WebDriverAgentLib、WebDriverAgentRunner、IntegrationApp这三个target,逐个处理:

  • 切换到Signing & Capabilities标签页
  • 勾选Automatically manage signing,然后从Team下拉框选你的Apple开发者账号(个人账号选自己的,团队账号选对应团队)
  • 重点:把每个target的Bundle Identifier改成独一无二的,比如把默认的com.facebook.WebDriverAgentRunner改成com.yourname.WebDriverAgentRunner——默认的bundle id太容易和别人重复,导致签名冲突,这是很多人踩坑的点
  • 如果是免费个人账号,不用额外注册模拟器设备(模拟器是虚拟的,Apple不要求),但要记住免费签名有效期只有7天,到期得重新弄

2. 手动构建并授权WDA

光配置签名还不够,得先让WDA在模拟器上能正常跑起来:

  • 在Xcode顶部选择你要测试的模拟器,然后选中WebDriverAgentRunner target
  • 按Cmd+B构建,或者从菜单选Product > Build For > Testing,确保构建成功
  • 打开模拟器的设置 > 通用 > VPN与设备管理(iOS版本不同可能叫描述文件与设备管理),找到你的开发者账号对应的描述文件,点进去信任它
  • 直接在Xcode里运行WebDriverAgentRunner(按Cmd+R),如果模拟器里出现一个空白的WDA图标,而且不闪退,说明签名没问题了

3. 调整Appium Inspector的Capabilities配置

这一步是解决WDA装完就删的关键,确保你的Capabilities里包含这些参数:

{
  "platformName": "iOS",
  "platformVersion": "你的模拟器iOS版本(比如16.4)",
  "deviceName": "你的模拟器名称(比如iPhone 14)",
  "app": "你的应用路径或者bundle ID",
  "automationName": "XCUITest",
  "xcodeOrgId": "你的Apple开发者团队ID(10位字母数字,在Apple Developer网站的Membership页能找到)",
  "xcodeSigningId": "iPhone Developer",
  "updatedWDABundleId": "你刚才在Xcode里改的WDA Bundle ID",
  "noReset": true,
  "fullReset": false
}
  • 解释下几个关键参数:
    • updatedWDABundleId:必须和你改的WDA Bundle ID完全一致,这样Appium会用你已经签名好的WDA,而不是重新生成默认的(默认的容易签名失败)
    • noReset设为true:避免每次启动都重置模拟器,这样WDA安装后就不会被清理掉
    • xcodeOrgId:别填错,这个是Apple用来识别你开发者身份的关键

4. 清理缓存,避免旧配置干扰

有时候旧的缓存会搞事情,建议做一下清理:

  • 清理Xcode的Derived Data:打开Xcode,点菜单Xcode > Settings > Locations,点击Derived Data旁边的箭头,删掉对应的文件夹
  • 重置模拟器:打开模拟器,点菜单Device > Erase All Content and Settings,重启模拟器
  • 关掉Appium服务,重新启动,确保没有残留的旧WDA进程

5. 免费账号的额外注意事项

如果你用的是免费Apple开发者账号,还有个坑要注意:

  • 免费签名的有效期只有7天,到期后WDA会闪退,这时候需要重新在Xcode里构建WDA,然后再去模拟器里信任描述文件
  • 如果遇到The executable was signed with invalid entitlements错误,去WDA target的Signing & Capabilities里,删掉自动添加的多余entitlements,只保留必要的(Xcode自动管理签名的话一般不会有这个问题,但偶尔会抽风)

最后验证

按上面的步骤弄完后,先在Xcode里确认WDA能正常运行,然后启动Appium服务,打开Appium Inspector填入正确的Capabilities,点击Start Session——这时候模拟器里的WDA应该会保留下来,Appium Inspector也能正常连接到你的应用了。

内容的提问来源于stack exchange,提问作者Goldi Garg

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.28 22:38:10