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

Flutter 3.0.5升级后iOS构建报错PhaseScriptExecution非零退出码

解决Flutter 3.0.5 iOS构建PhaseScriptExecution failed with a nonzero exit code问题

一、优先处理空安全依赖冲突

  • 用flutter pub outdated命令扫描所有依赖,找出未支持空安全的包:
    flutter pub outdated
    
  • 把这些包升级到官方标记为null-safe的最新稳定版本;如果部分包暂无空安全版本,可临时添加编译参数绕过(不推荐长期使用):
    flutter run --no-sound-null-safety
    
    注:Flutter 3.0+默认强制空安全,长期使用该参数会埋下兼容性隐患,优先寻找替代包或等待原包更新。

二、修复Uint8List未找到错误

  • 检查项目代码及依赖库,确保所有使用Uint8List的地方都导入了dart:typed_data:
    import 'dart:typed_data';
    
  • 通过flutter run --verbose日志定位到报错的具体文件和行号,如果是第三方依赖的问题,升级该依赖到最新版;若仍未解决,可临时fork仓库修复后用本地依赖替代:
    dependencies:
      问题包名称:
        path: ./本地修复后的包路径
    

三、执行完整的清理重建流程

  • 按顺序执行以下命令,彻底清理旧构建缓存:
    flutter clean
    cd ios
    pod deintegrate
    rm Podfile.lock
    rm -rf ~/Library/Caches/CocoaPods
    rm -rf Pods
    pod repo update
    pod install
    cd ..
    flutter build ios --release --verbose
    

四、调整iOS项目构建设置

  • 打开Xcode,进入项目Build Settings:
    • 将Deployment Target设置为iOS 11.0及以上(Flutter 3.0.5最低兼容版本)
    • 检查Run Script中的Flutter脚本路径,确保指向当前使用的Flutter 3.0.5 SDK路径,而非旧版本
    • 关闭Parallelize Build选项,避免并行构建导致脚本执行冲突

五、精准定位日志中的深层错误

  • 从flutter run --verbose输出中,找到PhaseScriptExecution失败对应的具体脚本,查看脚本执行时的详细报错信息(比如依赖编译失败、路径错误等)
  • 如果是CocoaPods版本兼容性问题,可降级到稳定版本:
    sudo gem install cocoapods -v 1.11.3
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.23 21:10:08