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

Flutter项目归档报PhaseScriptExecution非零退出码问题求助

解决Flutter iOS归档时PhaseScriptExecution非零退出码错误

核心排查与修复步骤

  • 修复脚本权限
    打开终端进入项目的ios目录,执行以下命令修复关键脚本的执行权限:

    chmod +x Pods/Target\ Support\ Files/Pods-<你的项目名称>/Pods-<你的项目名称>-frameworks.sh
    chmod +x Flutter/flutter_export_environment.sh
    

    脚本权限不足是触发该错误的高频原因。

  • 清理缓存并重建依赖

    1. 执行Flutter全局清理:
      flutter clean
      
    2. 删除iOS本地依赖缓存:
      rm -rf ios/Pods ios/Podfile.lock
      
    3. 重新安装依赖:
      cd ios && pod install --repo-update
      cd .. && flutter pub get
      
  • 校验Build Phase脚本配置

    1. 打开Xcode进入项目Build Phases面板
    2. 确认[CP] Embed Pods Frameworks和[CP] Copy Pods Resources的脚本路径无空格、格式错误
    3. 检查Flutter相关Run Script内容:
      • 构建阶段脚本应为:
        "$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh" build
        
      • 归档阶段脚本应为:
        "$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh" embed_and_thin
        
  • 调整架构配置

    1. 在XcodeBuild Settings中,将Architectures设置为Standard Architectures (arm64)
    2. 确保Release模式下Build Active Architecture Only设为NO
    3. 检查Excluded Architectures,Release模式下不要包含arm64
  • 排查依赖兼容性

    1. 核对pubspec.yaml中所有依赖包版本,确认是否存在未适配iOS归档的包(如依赖私有框架、未兼容arm64的包)
    2. 尝试移除近期新增的依赖,重新归档验证是否为特定包导致的问题

补充验证操作

  • 先执行flutter build ios --release,若此步骤报错,直接根据终端错误信息定位问题
  • 确认Xcode的Command Line Tools版本与当前Xcode版本匹配(路径:Xcode偏好设置→Locations→Command Line Tools)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.05 03:05:48