升级Xcode后无法在iOS模拟器运行Flutter应用,PhaseScriptExecution报错
问题解答
1. 无Podfile是否正常
- 纯Flutter项目如果没有引入包含iOS原生实现的第三方插件,默认不会自动生成Podfile,属于正常情况。当项目用到带原生iOS逻辑的Flutter插件时,执行Flutter构建命令会自动在ios目录下生成Podfile、Podfile.lock和Pods相关文件。
2. CocoaPods安装报错解决
报错核心原因是Xcode升级后系统命令行工具配置异常,加上Apple Silicon架构的Ruby兼容问题,按以下步骤操作即可解决:
- 先对齐Xcode命令行工具配置,执行命令:
sudo xcode-select --switch /Applications/Xcode.app/Contents/Developer
如果提示未安装命令行工具,先执行xcode-select --install完成安装后,再执行上面的切换命令。
2. 适配Apple Silicon架构安装ffi依赖:
sudo arch -x86_64 gem install ffi
- 重新安装CocoaPods:
sudo arch -x86_64 gem install cocoapods
3. iOS模拟器运行报错解决
完成CocoaPods安装后,按以下步骤修复构建问题:
- 进入项目根目录执行清理:
flutter clean
- 如果项目ios目录下无Podfile,先执行一次调试构建触发Podfile生成:
flutter build ios --debug --no-codesign
- 进入ios目录执行Pod依赖安装:
cd ios pod install
- 回到根目录重新运行应用即可:
flutter run
如果依旧提示Command PhaseScriptExecution failed with a nonzero exit code错误,手动打开ios目录下的Runner.xcworkspace文件,进入Runner > Build Phases > Run Script,勾选For install builds only选项后重新构建即可。
内容的提问来源于stack exchange,提问作者Daisuke Osanai
相关产品推荐
相关产品推荐

