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

M1芯片Mac下Xcode构建Flutter应用报PhaseScriptExecution错误如何解决

操作存在的问题
  • 你当前配置的排除架构规则为全局生效:排除arm64仅适用于iOS模拟器编译场景,iOS真机本身就基于arm64架构,全局排除后真机构建、归档时无法生成对应架构的编译产物,最终触发Command PhaseScriptExecution failed with a nonzero exit code报错。
  • 模拟器可正常构建是因为你通过Rosetta运行Xcode时,iOS模拟器运行的是x86_64架构,排除arm64刚好匹配模拟器的编译要求,因此不会出现问题。
解决步骤
  1. 修正Xcode排除架构配置
    • 打开Xcode项目的Build Settings面板,找到Excluded Architectures配置项
    • 点击配置项左侧的展开箭头,拆分不同编译环境的配置:
      • 仅在Any iOS Simulator SDK选项下添加arm64排除规则
      • 移除Any iOS SDK等其他所有配置项下的arm64排除规则
  2. 同步Pod配置避免第三方库覆盖架构设置
    • 打开项目ios目录下的Podfile,在末尾添加如下配置:
post_install do |installer|
  installer.pods_project.targets.each do |target|
    flutter_additional_ios_build_settings(target)
    target.build_configurations.each do |config|
      # 仅对iOS模拟器排除arm64架构
      config.build_settings["EXCLUDED_ARCHS[sdk=iphonesimulator*]"] = "arm64"
    end
  end
end
  • 保存后在ios目录下执行pod deintegrate && pod install重新生成Pods配置
  1. 确认基础编译配置
    • 检查Build Active Architecture Only配置:Debug模式设置为Yes,Release模式设置为No
    • 确认Architectures配置项的值为默认的$(ARCHS_STANDARD),不要手动修改为仅x86_64
  2. 清理缓存重新构建
    • 项目根目录执行flutter clean清理Flutter缓存
    • Xcode中点击Product > Clean Build Folder清理编译缓存,之后再进行真机构建或归档操作

内容的提问来源于stack exchange,提问作者dilusha_dasanayaka

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 02:45:01