Firebase Crashlytics上传dSYM脚本阻塞iOS应用构建与归档问题
iOS 集成Firebase Crashlytics dSYM上传脚本构建失败解决方案
针对已关闭bitcode、同配置脚本在其他项目运行正常仅当前项目构建/归档失败的场景,可按以下优先级排查解决:
- 调整脚本执行顺序:将Crashlytics运行脚本放在构建阶段(Build Phases)的最末尾位置,避免编译资源未完成生成时脚本提前执行触发报错
- 开启脚本调试日志定位问题:在脚本第一行添加
set -euxo pipefail,重新构建后在Xcode的构建日志中找到Crashlytics脚本执行节点,查看具体报错信息,重点核查${PODS_ROOT}、${BUILT_PRODUCTS_DIR}等环境变量在当前项目的自定义构建配置下是否取值异常 - 适配项目架构配置:如果你的项目未适配arm64e架构,可在脚本的run命令后添加
--skip-architectures arm64e参数,跳过架构校验避免构建终止 - 限制脚本执行时机:勾选脚本配置区域的*仅在安装时构建运行(Run script only when installing)*选项,日常Debug构建时跳过dSYM上传逻辑,仅归档时执行,不影响日常开发效率
- 显式指定dSYM路径:如果当前项目配置了自定义构建产物路径、多环境多Target,替换默认的自动检索逻辑,显式指定dSYM路径,参考配置如下:
"${PODS_ROOT}/FirebaseCrashlytics/run" -gsp "${PROJECT_DIR}/你的GoogleService-Info.plist存放路径/GoogleService-Info.plist" -p ios "${DWARF_DSYM_FOLDER_PATH}/${DWARF_DSYM_FILE_NAME}"
- 校验依赖版本兼容性:确认当前项目中Firebase Core组件版本与Crashlytics 4.6.2版本匹配,可执行
pod update FirebaseCrashlytics命令拉取匹配的依赖版本后重试
内容的提问来源于stack exchange,提问作者Dipak
相关产品推荐
相关产品推荐

