首页 > 解决方案 > Firebase Crashlytics:上传 dSYM 显示警告和 Firebase 控制台显示需要 dSYM (iOS)

问题描述

upload-symbols我已使用从 AppStore Connect 下载的命令将 dSYM 上传到 Firebase 。大多数 dSYM 都已成功上传,但会显示少数 dSYM 的警告。在我的应用程序中启用了位码,并在构建设置中使用“带有 dSYM 文件的 DWARF”作为“调试信息格式”。

对于一些 dSYM,我收到以下警告:

warning: Crashlytics found a dSYM with hidden symbols at path: /Users/name/Downloads/appDsyms/c362ba63-3100-3a48-9040-72af1fe519e3.dSYM. This will result in hidden stack frames for that library in Crashlytics. This can occur if you have  bitcode enabled in your app. If you have chosen to upload the symbols for your app to Apple, make sure to download the symbolicated dSYMs from Apple through Xcode or iTunes Connect. If you have chosen NOT to upload symbols to Apple, you can deobfuscate your dSYMs manually with the BCSymbolMaps found within the archive of your application using the following command: dsymutil --symbol-map <BCSymbolFile> <dSYMFileWithHiddenSymbols>.This will perform an in-place deobfuscation of the provided dSYM.To silence this warning, pass the --skip-dsym-validation flag to upload-symbols / run.

用于上传 dSYM 的命令:

/ProjectPath/Pods/FirebaseCrashlytics/upload-symbols -gsp /ProjectPath/GoogleService-Info.plist -p ios /DsymsPath/appDsyms

Firebase 控制台显示需要 dSYM: Firebase 控制台显示需要 dSYM

标签: iosswiftfirebasecrashlytics

解决方案


  1. 在存档文件中,您将找到文件夹“BCSymbolMaps”,将其复制到任何地方
  2. 复制您的 c362ba63-3100-3a48-9040-72af1fe519e3。dSYM到 c362ba63-3100-3a48-9040-72af1fe519e3。拉链
  3. 在此 zip 文件中,您将找到文件\Content\Resources\c362ba63-3100-3a48-9040-72af1fe519e3.plist
  4. 在此文件中,您需要密钥“ DBGOriginalUUID ”。此键是 BCSymbolMaps 文件夹中所需的文件名。(让它成为 XXXXXXX。所以你需要在我们从 xcarchive 获得的文件夹 BCSymbolMaps 中找到文件 XXXXXXX.bcsymbolmap。)
  5. 现在我们有了解码 dSYM 文件的一切。只需运行下一个 dsymutil --symbol-map /Users/name/Downloads/appDsyms/XXXXXXX.bcsymbolmap /Users/name/Downloads/appDsyms/c362ba63-3100-3a48-9040-72af1fe519e3.dSYM
  6. 现在您可以重复向服务器发送 dSYM。

推荐阅读