更新Xcode后运行Cordova iOS项目遇dyld abort_with_payload报错求助
刚更新完Xcode就遇上这种头疼的问题太常见了,我帮你整理了几个针对性的排查和修复步骤,一步步来应该能解决:
清理项目与Xcode缓存
先从Cordova项目层面清理:在项目根目录执行命令cordova clean ios
接着打开Xcode,点击菜单栏Product->Clean Build Folder(快捷键Shift+Cmd+K)
最后手动清理Xcode的Derived Data:打开Xcode偏好设置(Cmd+,)→Locations→ 点击Derived Data旁的箭头,删除对应项目的文件夹确认架构匹配设置
打开Xcode里的项目,选中你的target进入Build Settings标签
找到Architectures→Valid Architectures,确保包含x86_64(iPhone 7 Plus模拟器基于x86架构,最新Xcode可能默认调整了架构配置)
同时检查Build Active Architecture Only,Debug模式设为YES,Release模式设为NO更新Cordova iOS平台版本
先查看当前安装的版本:cordova platform list
如果版本偏旧,先卸载旧平台:cordova platform remove ios
安装兼容最新Xcode的稳定版(比如Xcode 15对应Cordova iOS 7.1.0+):cordova platform add ios@latest校准Deployment Target
在Xcode的targetGeneral标签里,找到Deployment Info的iOS Deployment Target,确保版本不高于iPhone 7 Plus模拟器支持的最高版本(比如iOS 16,设成iOS 17会直接报错)
同时确认Cordova项目config.xml里的<preference name="deployment-target" value="x.x" />和Xcode设置一致修复签名与模拟器权限
进入Xcode的Signing & Capabilities标签,确认已正确选择team,且Automatically manage signing处于勾选状态
若模拟器签名缓存异常,可重置模拟器:打开模拟器,点击菜单栏Device→Erase All Content and Settings,重启后再尝试运行排查第三方插件兼容性
部分老旧Cordova插件可能不兼容最新Xcode/iOS版本,引发dyld报错
先尝试移除所有第三方插件,用默认项目测试:cordova plugin remove <plugin-name>,如果能正常运行,再逐个添加插件排查问题源
查看插件的官方页面,确认是否有适配最新Xcode的版本,及时更新插件
如果以上步骤都试过还是不行,可以创建一个空白Cordova iOS项目测试,能快速排除是项目本身还是环境配置的问题。
内容的提问来源于stack exchange,提问作者Tacman

