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

Xcode 14.2构建报错:Command PhaseScriptExecution失败及Pod依赖冲突

解决Flutter项目iOS端Command PhaseScriptExecution非零退出码及依赖部署版本冲突问题

问题根源

你遇到的Command PhaseScriptExecution失败,本质是依赖版本与项目最低部署目标不兼容:flutter_facebook_auth 5.0.4依赖的FBSDKLoginKit ~>15.1.0要求更高的iOS最低部署版本(通常为iOS 12.0或以上),但你调试的iPhone 5s最高仅支持iOS 12.5.7,且项目当前的部署目标可能低于依赖要求,导致pod install报错,进而触发编译阶段的脚本执行失败。删除Run Script内容无法解决依赖冲突的核心问题,反而会破坏Flutter的编译流程。

解决方案

根据是否需要保留iPhone 5s的支持,可选择以下两种方案:

方案1:升级项目最低部署目标(放弃iPhone 5s支持)

  • 打开iOS目录下的Runner.xcworkspace
  • 选中Runner Target → Build Settings → 找到iOS Deployment Target,将版本改为12.0或更高(匹配FBSDKLoginKit的要求)
  • 编辑iOS目录下的Podfile,在顶部添加:
    platform :ios, '12.0'
    
  • 执行命令清理并重新安装依赖:
    flutter clean
    cd ios
    pod install
    cd ..
    flutter pub get
    

方案2:降级flutter_facebook_auth版本(保留iPhone 5s支持)

iPhone 5s最高支持iOS 12.5,需选择兼容该版本的flutter_facebook_auth版本(如4.x系列,其依赖的FBSDK版本最低支持iOS 10.0):

  • 修改项目根目录的pubspec.yaml,将flutter_facebook_auth的版本改为兼容版本,例如:
    dependencies:
      flutter_facebook_auth: ^4.4.1
    
  • 执行命令更新依赖:
    flutter pub get
    cd ios
    pod install
    

额外修复步骤(若修改后仍有脚本执行错误)

  • 恢复Run Script内容:打开Xcode的Runner Target → Build Phases → Run Script,确保脚本内容为:
    "$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh" build
    
    以及Embed Frameworks阶段的脚本:
    "$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh" embed
    
  • 清理Xcode缓存:Xcode菜单 → Product → Clean Build Folder,再重新编译运行。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.23 19:22:47