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

Xcode 10.1上传dSYM遇com.crashlytics错误Code=4求助

解决Fabric上传dSYM到Firebase时的OSX版本兼容错误

我来帮你搞定这个问题!从报错信息来看,核心问题是你的 macOS 版本和当前使用的 Fabric/upload-symbols 工具不兼容,导致无法完成dSYM的转换处理。下面是几个可行的解决办法,按优先级推荐:

1. 升级你的macOS版本

旧版macOS(比如High Sierra 10.13及更早)可能不支持upload-symbols工具需要的dSYM转换逻辑。Xcode 10.1的官方推荐系统是macOS Mojave 10.14,建议你把系统升级到Mojave或更高版本,这能从根本上解决系统层面的兼容性问题。

2. 替换为Firebase官方的Crashlytics上传工具

Fabric已经被Firebase完全整合,旧的Fabric工具逐渐停止维护,兼容性问题会越来越多。建议你直接切换到Firebase官方的上传脚本,步骤如下:

  • 首先通过CocoaPods更新FirebaseCrashlytics依赖:
    pod update FirebaseCrashlytics
    
  • 然后修改你的构建脚本,把原来的${PODS_ROOT}/Fabric/upload-symbols替换成${PODS_ROOT}/FirebaseCrashlytics/upload-symbols,修改后的完整脚本如下:
    echo "UPLOADING DSYM FILE ON FIREBASE CONSOLE"
    INFO_PLIST="$BUILT_PRODUCTS_DIR/$INFOPLIST_PATH"
    if [ -f "$INFO_PLIST" ] ; then
        ENVIRONMENT_NAME=`/usr/libexec/PlistBuddy -c "Print :EnvironmentName" "$INFO_PLIST"`
        if [ "$ENVIRONMENT_NAME" = "PROD" ] || [ "$ENVIRONMENT_NAME" = "prod" ]; then
            echo "PROD CONFIGURATION"
            "${PODS_ROOT}/FirebaseCrashlytics/upload-symbols" -gsp "${PROJECT_DIR}/DBS/SupportingFiles/Production/ProdGoogleService-Info.plist" -p ios "${DWARF_DSYM_FOLDER_PATH}/${DWARF_DSYM_FILE_NAME}"
        elif [ "$ENVIRONMENT_NAME" = "UAT" ] || [ "$ENVIRONMENT_NAME" = "uat" ]; then
            echo "UAT CONFIGURATION"
            "${PODS_ROOT}/FirebaseCrashlytics/upload-symbols" -gsp "${PROJECT_DIR}/DBS/SupportingFiles/UAT/UATGoogleService-Info.plist" -p ios "${DWARF_DSYM_FOLDER_PATH}/${DWARF_DSYM_FILE_NAME}"
        else
            echo "DEV CONFIGURATION"
            "${PODS_ROOT}/FirebaseCrashlytics/upload-symbols" -gsp "${PROJECT_DIR}/DBS/SupportingFiles/SITUAT/SITUATGoogleService-Info.plist" -p ios "${DWARF_DSYM_FOLDER_PATH}/${DWARF_DSYM_FILE_NAME}"
        fi
    fi
    
  • 最后清理Xcode的DerivedData(Xcode -> Preferences -> Locations -> DerivedData -> 点击箭头打开文件夹后删除对应项目的文件夹),重新构建项目。

3. 手动上传dSYM(应急方案)

如果暂时无法升级系统或替换工具,可以先手动上传dSYM到Firebase控制台:

  • 在Xcode中完成归档操作后,右键点击归档文件 -> 选择「显示包内容」
  • 进入Products/Applications目录,找到你的.app文件,右键选择「显示包内容」,找到dSYM文件(或者直接在归档的dSYMs文件夹中找到对应的文件)
  • 登录Firebase控制台,进入你的项目,打开「Crashlytics」模块,点击「上传dSYM」按钮,选择刚才找到的dSYM文件完成上传。

4. 升级Fabric依赖(临时过渡方案)

如果你暂时不想切换到Firebase工具,可以先尝试升级Fabric和Crashlytics的pod版本,看看是否能解决兼容问题:

pod update Fabric Crashlytics

不过这个方案只是临时过渡,因为Fabric已经停止维护,后续还是建议切换到Firebase官方工具。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.08 09:47:44