Firebase crashlytics未在iOS中初始化

问题描述

在我们的项目中,我们使用该结构来报告崩溃,此后,我们将结构迁移到了Firebase上,并且由于Firebase是Beta版,因此没有删除该结构。现在,我们正在尝试删除整个代码中的fabric和crashlytics依赖项:

#pod 'Fabric','1.10.2'
#pod 'Crashlytics','3.14.0'

,并将以下依赖项用于Firebase Crashlytics。

pod 'FirebaseCrashlytics','4.5.0'
pod 'FirebaseAnalytics','6.8.0'
pod 'FirebaseCore','6.10.1'
pod 'FirebaseMessaging','4.6.2'

为了初始化crashlytics,我在构建阶段添加了脚本:

“ $ {PODS_ROOT} / FirebaseCrashlytics / run”

输入文件:

$ {DWARF_DSYM_FOLDER_PATH} / $ {DWARF_DSYM_FILE_NAME} / Contents / Resources / DWARF / $ {TARGET_NAME} $(SRCROOT)/ $(BUILT_PRODUCTS_DIR)/ $(INFOPLIST_PATH)

我们已经在架构集成期间将崩溃放置在登台/生产环境中,因此在迁移Firebase时,所有崩溃都已配置。但是当我放置新的崩溃时,该崩溃未添加到登台/生产环境中的crashlytics报告中。

当我运行该应用程序并使其在开发环境中崩溃时,未配置crashlytics。

用于开发:

enter image description here

参考:https://firebase.google.com/docs/crashlytics/get-started?authuser=0

注意:我可以使用结构放置崩溃: $

{PODS_ROOT} / Fabric / run API_KEY BUILD_SECRET

解决方法

出于某种原因,遵循 Firebase 文档对我不起作用,因为我必须做一些额外的事情才能使“添加 SDK”加载屏幕在 Firebase 门户上消失并显示崩溃。

除了Firebase docs所说的,我还借助这个answer

  1. 转到构建设置 -> 调试信息格式 -> 使用 dSYM 文件将它们全部设置为 DWARF
  2. 转到构建阶段 -> 添加额外的运行脚本并输入以下内容
${PODS_ROOT}/FirebaseCrashlytics/upload-symbols -gsp ${PROJECT_DIR}/Your_path/GoogleService-Info.plist -p ios ${DWARF_DSYM_FOLDER_PATH}/${DWARF_DSYM_FILE_NAME}

记得为您的项目适当地替换 Your_path

  1. 按照here

    所述在您的应用程序中进行崩溃
  2. 断开您的设备/模拟器与调试器的连接,也就是您自己启动它,而不是从 XCode 运行它然后执行崩溃

  3. 我现在可以看到上面的加载消失了,我可以看到我的崩溃统计数据

,

Firebase Docs中所述,当您使用Xcode Simulator运行应用程序时,也会创建应用程序的初始实例,该实例包括一个会干扰Crashlytics的调试器。使用调试器,Crashlytics无法看到崩溃。因此,您必须分离调试器,然后直接从模拟器或设备上运行应用程序。

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...