Flutter 3.3.2项目升级Xcode16.1后遇Command PhaseScriptExecution错误求助
Flutter打包报错:Command PhaseScriptExecution failed with a nonzero exit code
问题背景
2022年上线的Flutter应用,因Apple要求升级至Xcode 16.1和macOS 15.2,保留Flutter 3.3.2版本不变。执行flutter run或通过Xcode运行时,出现以下报错:
Failed to package /Users/bonfire/Desktop/Projects/{APPNAME}.Command PhaseScriptExecution failed with a nonzero exit code
已尝试以下操作但未解决:
cd ios rm -rf Pods Podfile.lock pod deintegrate pod setup pod install --repo-update cd .. flutter clean flutter pub get
环境信息:
- Xcode 16.1
- macOS 15.2
- Flutter 3.3.2
解决方案
1. 升级Flutter版本(核心解决方向)
Flutter 3.3.2发布于2022年,不兼容Xcode 16系列版本。建议升级到至少Flutter 3.16+稳定版:
flutter upgrade
升级完成后,重新执行:
flutter clean flutter pub get cd ios && pod install --repo-update && cd ..
2. 升级CocoaPods版本
旧版CocoaPods与Xcode 16存在兼容性问题,检查当前版本并升级:
# 查看当前版本 pod --version # 升级到最新稳定版 sudo gem install cocoapods
升级后重新执行pod相关清理安装操作。
3. 清理Xcode缓存
除Flutter缓存外,清理Xcode的Derived Data:
rm -rf ~/Library/Developer/Xcode/DerivedData
重启Xcode后再尝试构建。
4. 检查并升级第三方依赖
旧版Flutter插件可能不兼容新系统,检查可升级的依赖:
flutter pub outdated
根据提示升级所有可更新的依赖,重新执行flutter pub get和pod安装。
5. 替换Flutter构建脚本
打开iOS项目的Runner目标,进入Build Phases -> Run Script,将原有脚本替换为:
"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh" build
保存后重新构建。
内容的提问来源于stack exchange,提问作者VDTe
相关产品推荐
相关产品推荐

