执行flutter build ios --release失败报PhaseScriptExecution非零退出码如何解决
问题解决步骤
1 修复本地Flutter/Dart SDK异常
- 执行
flutter doctor -v检查SDK状态,确认是否存在Dart SDK文件损坏、校验不通过类告警 - 若存在SDK异常,进入本地Flutter安装根目录,执行以下命令重置SDK至官方标准状态:
git clean -xdf git reset --hard flutter doctor
2 清理项目全链路缓存
项目本身在公司设备可正常构建,可排除项目代码问题,优先清理本地设备的全链路缓存:
在项目根目录依次执行以下命令:
flutter clean rm -rf ios/Pods ios/Podfile.lock rm -rf ~/Library/Developer/Xcode/DerivedData/* pod deintegrate --project-directory=ios pod install --project-directory=ios
完成后先打开Xcode加载ios/Runner.xcworkspace文件,手动执行Product->Archive操作,查看Xcode原生构建日志获取具体报错信息,Flutter层面输出的错误堆栈未包含Xcode构建阶段的详细执行日志,无法定位具体失败的脚本环节。
3 排查本地环境配置差异
- 对比个人设备与公司设备的
echo $PATH、which flutter、which dart、xcode-select -p命令输出,排查是否存在多版本Flutter冲突、Xcode命令行工具路径配置异常问题 - 执行
flutter pub cache repair修复所有本地缓存的依赖包,排除私有源、镜像源导致的依赖拉取不完整问题
4 特殊场景排查
- 确认个人Mac的系统用户名是否包含中文、特殊字符,路径含特殊字符会导致部分构建脚本执行失败
- 重新导入苹果开发者证书:删除钥匙串中所有现有开发者证书,从苹果开发者后台重新下载导入,确认证书信任配置为系统默认
内容的提问来源于stack exchange,提问作者lymin
相关产品推荐
相关产品推荐

