我最近注意到我在Firebase Crashlytics中的所有崩溃报告都没有被混淆,它们都返回了编译器错误和内存位置,而不是函数名和行号。我意识到这是因为Fabric已关闭(2020年5月4日),所以我开始过渡到Firebase Crashlytics。
我更改了Pod文件并添加了Firebase/Crashlytics
Pod,并遵循了位于here上的转换说明。
我在Xcode的Run script
下的Build Phases
中放置了以下代码:
"${PODS_ROOT}/FirebaseCrashlytics/run"
"${PODS_ROOT}/FirebaseCrashlytics/upload-symbols" -gsp "${PROJECT_DIR}/GoogleService-Info.plist" -p ios "${DWARF_DSYM_FOLDER_PATH}/${DWARF_DSYM_FILE_NAME}"
[构建项目时,我从upload-symbols
中返回以下错误:
Fetching upload-symbols settings...
[31merror: Could not fetch upload-symbols settings: Could not connect to the server.[0m
Command PhaseScriptExecution failed with a nonzero exit code
如果我在终端中手动运行upload-symbols
脚本,则会收到相同的错误error: Could not fetch upload-symbols settings: Could not connect to the server.
[我还注意到,在Firebase的Crashlytics仪表板上,我已经丢失了之前的所有崩溃数据,并收到了消息Error loading your issues
。
我想念的是什么?如何使Crashlytics像以前一样工作?
解决方案是使用fatalError()
强制我的应用崩溃。显然,这是在Firebase Crashlytics后端完成新SDK的注册所必需的。
完成此操作后,我所有的历史崩溃数据都像以前一样可用,并且upload-symbols
成功完成。