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

Flutter集成firebase_crashlytics后Xcode编译报错如何解决?

Firebase Crashlytics iOS编译上传符号失败的解决方法

以下是针对你遇到的Command PhaseScriptExecution failed with a nonzero exit code错误的几种排查和解决方向:

  • 修复脚本权限
    找到Xcode项目中[firebase_crashlytics] Crashlytics Upload Symbols对应的脚本文件,在终端执行chmod +x [脚本完整路径],赋予其可执行权限;或者右键脚本文件选择「显示简介」,确保「共享与权限」中所有人拥有读写权限。

  • 明确指定GoogleService-Info.plist路径
    打开Xcode的「Build Phases」面板,找到[firebase_crashlytics] Crashlytics Upload Symbols脚本,修改其中的GOOGLE_SERVICE_INFO_PLIST变量,直接写死正确的文件路径,比如"${PROJECT_DIR}/Runner/GoogleService-Info.plist",避免路径解析错误。

  • 更新Firebase依赖版本
    执行flutter pub upgrade firebase_crashlytics firebase_core,将Firebase相关包更新到最新版本,新版本通常会修复脚本兼容问题。

  • 清理构建缓存

    1. 执行flutter clean清理Flutter项目缓存
    2. 打开Xcode,通过「Preferences -> Locations」找到Derived Data目录,删除当前项目的缓存文件夹
    3. 重新执行flutter pub get后,再尝试编译项目
  • 检查Xcode架构配置
    进入Xcode项目的「Build Settings」,确认Architectures设置为Standard Architectures (arm64, x86_64),Build Active Architecture Only在Debug模式下设为Yes,Release模式设为No,避免架构不兼容导致的符号上传失败。

  • 手动上传符号文件(临时方案)
    如果自动上传始终失败,可以手动上传dSYM文件:

    1. 在Xcode的「Window -> Organizer」中找到项目归档文件,右键选择「显示在访达」
    2. 右键归档文件选择「显示包内容」,找到dSYMs文件夹
    3. 在终端执行命令:
      ${PODS_ROOT}/FirebaseCrashlytics/upload-symbols -gsp /path/to/GoogleService-Info.plist -p ios /path/to/dSYMs
      
      替换其中的路径为你项目的实际路径。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.28 17:40:10