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

Flutter项目真机运行时Xcode报Command PhaseScriptExecution错误

Flutter真机运行报错:Command PhaseScriptExecution failed with a nonzero exit code 修复方案

这个错误是Flutter iOS真机部署时的常见问题,结合你已做的操作,以下是核心成因和针对性修复步骤:

常见成因

  1. 签名/证书配置不完整:虽然选择了团队,但设备未纳入开发者账号、证书过期或签名目标配置不一致
  2. Flutter构建脚本权限不足:关键Shell脚本缺少可执行权限
  3. Xcode本地缓存残留:flutter clean无法清理Xcode的DerivedData缓存
  4. 项目目录权限受限:项目所在文件夹读写权限不足导致脚本执行失败
  5. Pod依赖构建脚本异常:部分第三方Pod的预构建脚本出错

修复步骤

1. 彻底检查签名与开发者账号配置

  • 打开Xcode的Signing & Capabilities页面,确保Automatically manage signing已勾选,团队选择正确的开发者账号
  • 登录Apple开发者后台,确认当前测试设备已添加到Devices列表(如果没添加,Xcode会提示"设备未注册",直接按提示添加即可)
  • 检查Runner target和Flutter target的签名配置完全一致,避免一个自动管理、一个手动配置的矛盾情况
  • 如果证书有异常,删除Xcode本地证书(Xcode -> Settings -> Accounts -> 选中账号 -> Manage Certificates),让Xcode自动重新生成

2. 修复构建脚本权限

进入项目的ios目录,在终端执行以下命令,给关键脚本添加可执行权限:

chmod +x Pods/Target\ Support\ Files/Pods-Runner/Pods-Runner-frameworks.sh
chmod +x Flutter/flutter_export_environment.sh

3. 清理Xcode本地缓存

关闭Xcode,执行命令删除DerivedData缓存:

rm -rf ~/Library/Developer/Xcode/DerivedData

重新打开Xcode后,按Cmd+Shift+K执行Clean Build Folder

4. 检查项目目录权限

  • 确保项目不要放在系统受保护的目录(如/System、/Applications),建议放在~/Documents或用户目录下
  • 右键点击项目文件夹,选择显示简介,确认当前用户拥有读与写权限,权限不足的话点击锁图标解锁后修改

5. 重新初始化Pod依赖

进入ios目录,执行以下命令彻底重置Pod:

rm Podfile.lock
rm -rf Pods
pod install

如果是M1/M2芯片的Mac,需用Rosetta执行:

arch -x86_64 pod install

6. 确认Xcode与Flutter版本兼容

  • 检查flutter doctor输出的Xcode版本,确保和当前Flutter版本匹配(比如Flutter 3.10+需要Xcode 14.3及以上)
  • 如果版本不兼容,升级Xcode到最新稳定版(注意备份项目)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.01 13:24:54