首页 > 解决方案 > Firebase crashlytics 未在 iOS 中初始化

问题描述

在我们的项目中,我们使用结构来报告崩溃,之后我们使用 firebase 迁移了结构,并且由于 firebase 处于测试阶段,因此没有删除结构。现在我们正在尝试删除整个代码中的结构和 crashlytics 依赖项:

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

并将以下依赖项用于 Firebase Crashlytics。</p>

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

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

“${PODS_ROOT}/FirebaseCrashlytics/运行”

输入文件:</p>

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

我们已经在结构集成期间将崩溃置于暂存/生产环境中,因此在迁移 firebase 时,所有崩溃都已配置。但是当我放置新的崩溃时,崩溃并没有添加到暂存/生产环境中的 crashlytics 报告中。

当我运行应用程序并在开发环境中崩溃应用程序时,crashlytics 没有得到配置。

对于开发: 在此处输入图像描述

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

注意:我可以使用织物放置崩溃:$

{PODS_ROOT}/Fabric/运行 API_KEY BUILD_SECRET

标签: iosswiftfirebasecrashlytics

解决方案


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

除了Firebase 文档所说的之外,我还借助这个答案做了以下事情

  1. 转到构建设置 -> 调试信息格式 -> 使用 dSYM 文件将它们全部设置为 DWARF
  2. 转到 Build Phases -> 添加额外的运行脚本并输入以下内容
${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. 如此处所述,在您的应用程序中暂存崩溃

  2. 断开您的设备/模拟器与调试器的连接,AKA 自行启动它,而不是从 XCode 运行它,然后执行崩溃

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


推荐阅读