Flutter运行iOS设备报错xcode_backend.sh不存在PhaseScriptExecution失败
解决方案
报错根本原因是跨设备迁移项目后,Xcode配置中残留了旧环境的Flutter SDK绝对路径,无法找到对应脚本文件,可按以下步骤修复:
- 先在终端执行
flutter sdk-path,获取你Mac设备上Flutter SDK的正确安装路径并记录。 - 打开项目下的
ios/Runner.xcworkspace文件启动Xcode,不要直接打开Runner.xcodeproj,避免Pod相关配置加载异常。 - 在Xcode左侧导航栏选中顶层
Runner项目,顶部切换到Build Settings标签,搜索关键字FLUTTER_ROOT,将对应配置项的值替换为你之前查到的正确Flutter SDK路径。 - 继续切换到Build Phases标签,找到「Run Script」配置项,检查脚本中的xcode_backend.sh引用路径,如果是写死的旧绝对路径,统一替换为
$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh,使用变量引用可以避免后续更换环境再次出现同类问题。 - 回到Flutter项目根目录,依次执行以下命令重置项目配置:
flutter clean flutter pub get cd ios pod deintegrate rm Podfile.lock pod install - 完全退出Xcode后重新打开,再执行运行操作即可。
如果完成以上操作后仍有报错,可执行flutter doctor检查Flutter iOS环境依赖,修复所有标红的异常项后再尝试运行。
内容的提问来源于stack exchange,提问作者George Sepetadelis
相关产品推荐
相关产品推荐

