iOS15.5/Xcode13.4.1/Appium1.22.3环境WebDriverAgent安装失败问题
问题结论
访问node_modules/appium/node_modules/appium-webdriveragent路径时弹出项目锁定/权限拒绝提示不属于正常情况,该问题是iOS 15.5、Xcode 13.4.1版本升级后,Appium全局依赖目录权限错乱、WDA旧签名缓存与新版本Xcode构建逻辑不兼容共同导致的,也是触发Xcode build error 65的直接原因。
解决步骤
- 修复WDA目录权限
打开终端先进入全局Appium的WDA目录,执行命令:cd $(npm root -g)/appium/node_modules/appium-webdriveragent
再递归修改目录所有者为当前系统用户,彻底解决权限锁问题:sudo chown -R $(whoami) ./
执行完上述命令后再打开WDA项目文件,就不会再弹出权限拒绝提示。 - 清理旧构建缓存
完全退出Xcode后,先执行defaults delete com.apple.dt.Xcode重置Xcode本地配置,再进入Xcode设置-Locations选项卡,点击Derived Data对应的路径入口,删除目录下所有名称包含WebDriverAgent的缓存文件夹。回到WDA目录执行./Scripts/bootstrap.sh重新拉取WDA项目依赖,不要手动修改项目内的build settings配置,避免脚本执行时覆盖自定义配置。 - 重新完成双Target签名
用Xcode打开WDA目录下的WebDriverAgent.xcodeproj,不要只签Runner target:- 分别选中WebDriverAgentLib、WebDriverAgentRunner两个target,进入Signing & Capabilities页,选择自己的开发者团队,勾选Automatically manage signing
- 将两个target的Bundle ID修改为自己开发者账号下唯一、未被占用的字符串(不要使用默认的com.facebook前缀ID,可添加自定义后缀避免冲突)
- 保持解锁状态的真机连接,选择WebDriverAgentRunner为构建目标、连接的真机为运行设备,按
Command+U执行测试构建,构建成功后在真机端进入设置-通用-VPN与设备管理,信任对应的开发者证书。
- 配置Appium启动参数避免自动改配
在Appium Inspector的capabilities配置中添加以下参数,避免Appium启动时自动修改WDA签名配置导致构建失败:{ "xcodeOrgId": "你的开发者团队10位ID", "xcodeSigningId": "iPhone Developer", "updatedWDABundleId": "你自定义的WDA Runner Bundle ID", "useNewWDA": false, "wdaLocalPort": 8100 }
版本适配提醒
- Xcode 13.4.1 + iOS 15.5的组合要求Appium版本不低于1.22.3,低版本Appium内置的WDA不兼容新Xcode的构建签名逻辑,会反复报签名错误。如果当前Appium版本低于要求,先执行
sudo npm install -g appium@latest升级,升级完成后重新走一遍权限修复、重签流程即可。 - 如果上述步骤执行完仍报build error 65,直接删除全局node_modules下的appium-webdriveragent目录,重新执行全局Appium安装命令,安装完成后第一时间修改目录权限,不要先启动Appium服务。
内容的提问来源于stack exchange,提问作者Harshdeep Singh
相关产品推荐
相关产品推荐

