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

Flutter真机iOS构建失败:Command PhaseScriptExecution返回非零退出码

解决Flutter iOS真机构建报错Command PhaseScriptExecution failed with a nonzero exit code的方案

1. 校验Xcode命令行工具配置

  • 打开Xcode,进入Xcode > 设置 > 位置,确认命令行工具选择的是当前安装的Xcode版本(不能为空或旧版本)。
  • 配置完成后重启终端和Xcode。

2. 清理全链路构建缓存

依次执行以下命令:

flutter clean
rm -rf ios/Pods ios/Podfile.lock
flutter pub get
cd ios && pod install --repo-update
cd ..

然后打开Xcode,执行产品 > 清理构建文件夹(快捷键Cmd+Shift+K),再删除~/Library/Developer/Xcode/DerivedData目录下的所有文件。

3. 修复构建阶段脚本配置

根据报错中的警告,两个脚本未指定输出导致构建异常,操作如下:

  • 用Xcode打开ios/Runner.xcworkspace,选中Runner目标,进入构建阶段标签。
  • 找到Run Script阶段:取消勾选基于依赖分析,若不需要每次构建都执行,可勾选仅在安装时运行脚本;也可添加输出文件(例如$(BUILT_PRODUCTS_DIR)/$(INFOPLIST_PATH))。
  • 找到Thin Binary阶段,重复上述操作。

4. 检查签名与证书有效性

  • 进入Runner目标的签名与功能标签,确认团队选择了有效的开发者账号,证书和描述文件未过期。
  • 个人开发者需确保真机已添加到开发者账号的设备列表,描述文件包含该设备;可点击下载手动描述文件按钮重新获取。

5. 确认Flutter与Xcode版本兼容

  • 执行flutter doctor检查环境配置,修复所有提示的问题(如Xcode许可协议未同意、Android SDK缺失等)。
  • 确保当前Flutter版本与Xcode版本匹配(最新Flutter通常需要最新版Xcode支持)。

6. 修复系统权限问题

  • 进入系统设置 > 隐私与安全性 > 完全磁盘访问权限,添加终端或你使用的IDE(如VS Code)。
  • 权限配置完成后重启终端,再尝试构建。

7. 通过Xcode直接构建查看详细日志

用Xcode打开ios/Runner.xcworkspace,选择真机设备后点击产品 > 运行,Xcode会展示脚本执行失败的具体原因(Flutter输出可能隐藏了关键错误信息)。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.11 21:25:19