在我们的项目中,我们使用 fabric 来报告崩溃,之后我们用 firebase 迁移了 fabric,并且由于 firebase 处于测试阶段而没有删除 fabric。现在我们正在尝试删除整个代码中的 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)
我们已经在 fabric 集成期间将崩溃放置在暂存/生产环境中,因此在迁移 firebase 时所有崩溃都已配置。但是当我放置新的崩溃时,崩溃没有添加到暂存/生产环境的 crashlytics 报告中。
当我在开发环境中运行应用程序并使应用程序崩溃时,未配置 crashlytics。
引用:https://firebase.google.com/docs/crashlytics/get-started?authuser=0
注意:我可以使用 fabric 来放置崩溃: $
{PODS_ROOT}/Fabric/run API_KEY BUILD_SECRET
最佳答案
出于某种原因,遵循 Firebase 文档对我不起作用,因为我必须做一些额外的事情才能使“添加 SDK”加载屏幕在 Firebase 门户上消失并向我显示崩溃。
除了什么Firebase docs比如说,我还借助这个 answer 做了以下事情
- 转到build设置 -> 调试信息格式 -> 使用 dSYM 文件将它们全部设置为 DWARF
- 转到构建阶段 -> 添加一个额外的运行脚本并输入以下内容
${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
按照描述在您的应用程序中设置崩溃 here
断开您的设备/模拟器与调试器的连接,也就是自行启动它,而不是从 XCode 运行它,然后执行崩溃
我现在可以看到上面的加载消失了,我可以看到我的崩溃统计信息
关于ios - Firebase crashlytics 未在 iOS 中初始化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63701913/