Firebase Crashlytics:上传 dSYM 显示警告且 Firebase 控制台显示需要 dSYM (iOS)

Sha*_*man 5 ios firebase crashlytics swift

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.
Run Code Online (Sandbox Code Playgroud)

用于上传 dSYM 的命令:

/ProjectPath/Pods/FirebaseCrashlytics/upload-symbols -gsp /ProjectPath/GoogleService-Info.plist -p ios /DsymsPath/appDsyms
Run Code Online (Sandbox Code Playgroud)

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

小智 1

  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 到服务器。