You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Flutter项目Xcode 11.1构建失败:Command PhaseScriptExecution错误求助

Fix: Command PhaseScriptExecution Failed with Nonzero Exit Code in Xcode 11.1 for Flutter Projects

我之前也碰到过一模一样的问题!根源在于Xcode 11.1对二进制架构的校验更严格,而你的Flutter构建输出的App.framework只包含了arm64(真机架构),但iOS模拟器需要x86_64架构,导致脚本检查失败。下面是亲测有效的解决步骤:

1. 升级Flutter到适配版本

老版本Flutter可能对Xcode 11的架构处理有bug,先确保你的Flutter是最新稳定版:

flutter upgrade

2. 彻底清理构建缓存

缓存残留很容易导致架构不匹配,先清理Flutter侧的缓存:

flutter clean

然后打开Xcode,执行:

  • 菜单栏选择 Product > Clean Build Folder(快捷键 Cmd+Shift+K)
  • 手动删除DerivedData目录(路径就是错误信息里的/Users/derrickxiang/Library/Developer/Xcode/DerivedData/Runner-ddqqlsawcqbvcocyrpnrjfejjuha)

3. 调整Xcode项目的架构设置

打开ios/Runner.xcworkspace,选中Runner target,切换到Build Settings标签:

  • 搜索Architectures,确保Architectures设置为Standard Architectures (arm64, x86_64)
  • 搜索Valid Architectures,确认包含arm64, x86_64两个选项
  • 搜索Build Active Architecture Only,设置Debug模式为YES,Release模式为NO

4. 修改Podfile强制统一架构

打开ios/Podfile,在文件末尾添加以下post_install脚本,确保所有依赖都编译支持所需架构:

post_install do |installer|
  installer.pods_project.targets.each do |target|
    target.build_configurations.each do |config|
      config.build_settings['ARCHS'] = 'arm64 x86_64'
      config.build_settings['VALID_ARCHS'] = 'arm64 x86_64'
    end
  end
end

然后重新安装Pods:

cd ios && pod install && cd ..

5. 强制针对模拟器编译

最后,直接用Flutter命令强制编译模拟器版本,确保生成x86_64架构的二进制:

flutter build ios --debug --simulator

完成这些步骤后,再回到Xcode重新构建,应该就能顺利通过了。

内容的提问来源于stack exchange,提问作者Derrick.X

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.14 07:52:34