在Xcode中测试Flutter应用遇Command PhaseScriptExecution错误,求其他解决办法
解决Xcode运行Flutter应用报错
Command PhaseScriptExecution failed with a nonzero exit code的额外方案 以下是你未尝试过的可行解决步骤:
清理全链路缓存
- 执行Flutter项目清理:
flutter clean - 进入项目
ios目录,执行pod deintegrate && pod install - 在Xcode中按下
Cmd+Shift+K清理构建文件夹,再按下Cmd+Option+Shift+K彻底清理派生数据
- 执行Flutter项目清理:
修复脚本执行权限
- 打开Xcode项目,进入
Targets > Runner > Build Phases,找到名为[CP-User] Generate Specs的脚本 - 在终端中定位到项目
ios目录,执行以下命令赋予脚本执行权限(若报错提示其他脚本路径,替换为对应路径即可):chmod +x Pods/Target Support Files/Pods-Runner/Pods-Runner-frameworks.sh
- 打开Xcode项目,进入
校验Flutter与Xcode版本兼容性
- 运行
flutter doctor检查环境,确认Xcode版本满足当前Flutter版本的要求(例如Flutter 3.10+需要Xcode 14.3及以上) - 若版本不匹配,升级Xcode到对应版本,或通过
flutter downgrade <版本号>降级Flutter至兼容版本
- 运行
重置签名配置
- 进入Xcode的
Signing & Capabilities面板,确认Team选择正确且证书状态正常 - 重新下载开发证书:Xcode →
Settings→Accounts→ 选中你的Apple ID →Manage Certificates→ 点击+添加iOS Development证书
- 进入Xcode的
调整Podfile配置
- 打开项目
ios/Podfile,在末尾添加如下配置:post_install do |installer| installer.pods_project.targets.each do |target| flutter_additional_ios_build_settings(target) # 关闭Bitcode以避免兼容问题 target.build_configurations.each do |config| config.build_settings['ENABLE_BITCODE'] = 'NO' end end end - 保存后回到终端,执行
pod install更新配置
- 打开项目
检查Build Settings路径
- 在Xcode中进入
Runner > Build Settings,搜索Framework Search Paths - 确认路径中包含
$(inherited)和Pods/Frameworks,移除任何无效或重复的路径
- 在Xcode中进入
重启相关服务
- 重启Xcode、测试用的iPhone设备
- 必要时重启电脑,彻底清除系统缓存
内容的提问来源于stack exchange,提问作者Charles Down
相关产品推荐
相关产品推荐

