更新Visual Studio 2019至16.9.0后Xamarin.iOS出现ibtool退出代码72报错
VS2019 16.9.0版本触发Xamarin.iOS
ibtool exited with code 72报错的修复方案 该报错发生在iOS应用的Storyboard/Xib编译阶段,在启动模拟器加载应用前就会触发,是VS2019更新到16.9.0后暴露的已知构建链路问题,不属于项目代码或配置错误,可按以下顺序排查修复:
- 全量清理本地构建残留
先关闭Visual Studio,手动删除三类缓存文件:- 解决方案目录下所有项目的
bin、obj文件夹 - Windows端Xamarin.iOS临时构建缓存:删除
%LocalAppData%\Xamarin\MonoTouch\cache路径下的全部内容 - 配对的Mac构建主机上,删除
~/Library/Caches/Xamarin目录下的所有缓存文件
- 解决方案目录下所有项目的
- 匹配Mac构建主机的版本要求
VS 2019 16.9.0版本集成的Xamarin.iOS SDK要求Mac端安装的Xcode版本不低于12.4,版本不匹配会直接导致ibtool的签名校验不通过、返回退出码72。
操作步骤:打开Mac上的Xcode,进入「设置-位置」栏,确认命令行工具选中的是当前已安装的匹配版本Xcode,之后重启Mac上的Xamarin Build Host服务。 - 绕开增量编译的版本bug
16.9.0版本引入的Storyboard增量编译逻辑存在临时文件写入权限的兼容性问题,会直接导致ibtool进程异常退出。
操作步骤:在Xamarin.iOS项目属性的「iOS构建」页,勾选「使用现代构建输出」,同时取消勾选「启用Storyboard增量编译」选项,重新触发构建即可。 - 版本兜底修复
上述操作无效的情况下,可选择将VS升级到16.9.2及以上版本——微软已在该版本中正式修复了ibtool调用异常的问题;若无法在线升级,可临时回退到16.8.6稳定版本规避问题。
内容的提问来源于stack exchange,提问作者Fish1996
相关产品推荐
相关产品推荐

