Apple M1芯片Xcode12.4用CocoaPods报PhaseScriptExecution非零退出码如何解决
M1芯片Mac + Xcode 12.4
Command PhaseScriptExecution failed with a nonzero exit code 报错解决方案 - 启用Xcode Rosetta转译:在访达应用程序目录中找到Xcode,右键点击选择「显示简介」,勾选「使用Rosetta打开」选项,重启Xcode后重新执行构建操作。Xcode 12.4对M1芯片原生支持不完善,多数旧第三方依赖没有适配arm64架构的模拟器切片,Rosetta转译可兼容x86_64架构的依赖包。
- 修改Podfile配置排除模拟器arm64架构:在项目根目录的Podfile末尾添加如下配置:
配置保存后,依次执行post_install do |installer| installer.pods_project.targets.each do |target| target.build_configurations.each do |config| config.build_settings["EXCLUDED_ARCHS[sdk=iphonesimulator*]"] = "arm64" end end endpod deintegrate、pod install命令,重启Xcode后再次构建。 - 同步项目级构建设置:打开项目主Target的Build Settings页面,找到
Excluded Architectures配置项,在模拟器对应的配置条目下同样添加arm64,保证项目配置和Pods依赖配置一致。 - 清理冗余framework引用:如果执行完以上操作后framework仍然显示红色,检查项目和Pods项目的Build Phases->Embed Frameworks配置,删除重复添加的冗余framework引用后重新执行
pod install即可。
内容的提问来源于stack exchange,提问作者amirbt17
相关产品推荐
相关产品推荐

