Firebase Crashlytics 'Error loading your issues' 和上传符号脚本错误 - iOS 应用使用 XCode

Firebase Crashlytics 'Error loading your issues' and upload-symbols script error - iOS App using XCode

我最近注意到我在 Firebase Crashlytics 中的所有崩溃报告都没有被反混淆,它们都返回编译器错误和内存位置(例如 <compiler-generated> - Line 4331771636EXC_BREAKPOINT 0x0000000102afd6f4),而不是函数名称和行号。我意识到这是因为 Fabric 已关闭(2020 年 5 月 4 日),所以我开始过渡到 Firebase Crashlytics。

我更改了我的 pod 文件并添加了 Firebase/Crashlytics pod,并按照位于 here.

的转换说明进行操作

我在 Xcode 中 Build Phases 下的 Run script 中放置了以下代码:

"${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() 强制我的应用程序崩溃。并不明显,这是完成新 SDK 与 Firebase Crashlytics 后端的注册所必需的。

执行此操作后,我所有的历史崩溃数据都像以前一样可用,upload-symbols 成功完成。