Firebase Crashlytics 控制台中上传的 dSYM 文件的 UUID 不匹配

问题描述 投票:0回答:1

我在 Flutter 应用程序中遇到 Firebase Crashlytics 问题,其中 dSYM 文件已成功上传,但 UUID 在 Firebase 控制台上不匹配。

如附图所示,尽管 dSYM 已上传,但某些 UUID 显示为“缺失(必需)”。

此外,我已将脚本设置为仅在安装构建时运行,并且确保该脚本是我的构建阶段中最后运行的脚本。

环境详情:

  • 颤振版本:3.19.6
  • Firebase_crashlytics:^4.0.4
  • Xcode版本:15.4

构建命令:

flutter build ipa --flavor production --dart-define=ENVIRONMENT=prod

上传脚本

# Upload dSYM files to Firebase Crashlytics
echo "Attempting to upload dSYM to Firebase Crashlytics..."
upload_output=$($PODS_ROOT/FirebaseCrashlytics/upload-symbols --build-phase -ai "$APP_ID" 2>&1)
upload_exit_code=$?

echo "Upload output: $upload_output"

上传似乎成功,但 Firebase 似乎未正确匹配 UUID。有谁遇到过这个问题或者对如何解决 UUID 不匹配有任何见解吗?

我用

确认uuid
dwarfdump --uuid myApp_production.app.dSYM yet Crashlytis seems to expect a different uuid

enter image description here

flutter firebase crashlytics
1个回答
0
投票

这就是答案吗?

自从我设置了“仅安装构建”标志以来,我一直在我的开发机器上的模拟器和设备上运行。 Firebase 认为这是来自真实设备的崩溃。

通过将脚本限制为“仅安装版本”,您可以在开发版本期间阻止 dSYM 上传。这意味着当您的开发计算机上发生崩溃时,Firebase 会看到崩溃报告,但没有匹配的 dSYM 文件来表示它,因为它从未上传。

Firebase Crashlytics 平等对待所有崩溃报告,无论它们来自开发环境还是生产环境。因此,如果您的本地计算机发生崩溃,它仍会尝试查找匹配的 dSYM 文件。由于您的脚本没有上传用于开发版本的 dSYM,Firebase 无法匹配 UUID,并且会将它们显示为“缺失(必需)”。

可能的解决方案:上传所有版本的 dSYM(不仅仅是安装版本):

© www.soinside.com 2019 - 2024. All rights reserved.