Xamarin.UITest在iOS物理设备安装DeviceAgent失败ExitCode134如何解决?
问题根因
该报错核心是你当前使用的Xamarin.UITest版本与本地Xcode版本不兼容,旧版本Xamarin.UITest依赖的DeviceAgent组件无法适配新版Xcode的私有框架结构,导致加载IBAutolayoutFoundation、AssetCatalogFoundation依赖失败。
解决方案
按以下优先级依次操作即可解决:
- 第一步:更新Xamarin.UITest版本
直接升级你的测试项目中Xamarin.UITest的NuGet包到对应Xcode适配的版本:- Xcode 13.x 需使用Xamarin.UITest 4.1.0及以上
- Xcode 14.x 需使用Xamarin.UITest 4.2.0及以上
- Xcode 15.x 需使用Xamarin.UITest 4.3.0及以上
- 第二步:清理旧版本DeviceAgent缓存
打开终端执行以下两条命令,删除本地缓存的旧版DeviceAgent依赖,下次运行测试时会自动重新生成适配当前环境的组件:rm -rf ~/Library/Caches/Xamarin.UITest rm -rf /private/var/folders/*/*/T/xdb/ - 第三步:校验Xcode命令行工具配置
执行命令查看当前选中的Xcode路径是否正确:
如果输出不是你当前使用的Xcode路径(如默认路径为xcode-select -p/Applications/Xcode.app/Contents/Developer),执行以下命令切换:
切换完成后执行sudo xcode-select -s /Applications/Xcode.app/Contents/Developerxcodebuild -version确认版本匹配。 - 第四步:确认物理机测试权限配置
- 你的iOS设备UDID已添加到苹果开发者账号的测试设备列表中
- 测试用的App安装包使用开发证书签名,且包含该设备的UDID
- iOS 16及以上系统需在「设置-隐私与安全性」中开启开发者模式,并信任对应开发证书
补充说明
你添加的Xamarin.Calabash.Start()需确保写在iOS主项目AppDelegate的FinishedLaunching方法的return语句之前,若位置正确仍无效果,说明不是该配置的问题,优先解决版本兼容问题即可。
内容的提问来源于stack exchange,提问作者Carlo La Mantia
相关产品推荐
相关产品推荐

