firebase-ios-sdk: Missing dsyms in firebase

[REQUIRED] Step 1: Describe your environment

  • Xcode version: 12.4
  • Firebase SDK version: 6.24.0
  • Installation method: CocoaPods (select one)
  • Firebase Component: Crashlytics

[REQUIRED] Step 2: Describe the problem

Manual upload script gives result as “Successfully uploaded Crashlytics symbols” But when I got Crashlytics it says “This app has 37 unprocessed crashes. Upload 2 dSYM files to process them”.

Steps to reproduce:

Screenshot 2021-07-30 at 2 11 01 PM Screenshot 2021-07-30 at 2 11 18 PM Screenshot 2021-07-30 at 2 11 32 PM

If you have a downloadable sample project that reproduces the bug you’re reporting, you will likely receive a faster response on your issue.

Relevant Code:

About this issue

  • Original URL
  • State: closed
  • Created 3 years ago
  • Reactions: 2
  • Comments: 30 (6 by maintainers)

Most upvoted comments

I’m facing this issue also, seems like Apple Connect is returning wrong UUID at this moment. To workaround this, you have to identify the missing Binary to find the missing dSYM file then rename the UUID to match the missing UUID. I just wrote an article to solve this: https://medium.com/geekculture/how-to-fix-the-missing-dsyms-on-firebase-crashlytics-5f36d9db51d9

I wrote a tool that automates finding the UUID for a binary image and overwrites its internal UUID. You can find it here: https://github.com/schmittsfn/dsymrename

Seems like the problem has been fixed by Apple. It works well on my side now.

@schmittsfn Thanks! That works for me!

Yeah we’re following a thread here on Apple’s forums: Thread Message

I wrote a tool that automates finding the UUID for a libName and overwrites its internal UUID. You can find it here: https://github.com/schmittsfn/dsymrename

@schmittsfn I’ve been looking for this tool before, will add it to my article also. Thank you!

@schmittsfn Appreciate the help! though i guess it’ll only be applicable to those who do submit crash reports, but at least there is way, none the less

@kevinmun You can: Step A) In Crashlytics:

  1. Note down the version of the build for which a dsym is missing
  2. Note down the UUID of the missing dsym

Step B) Find an unsymbolicated line in one of your crash files for that version:

  1. Open Xcode -> Window -> Organiser
  2. In the left-hand pane, select Crashes
  3. Use the drop-down menu in the top left-hand corner to select the version you are interested in
  4. Once all the crashes for that version are downloaded, locate the crash you are interested in
  5. Find the line in the crash report you are interested in and which is not symbolicated
  6. Note down the Library

Step C) Locate the dsym with the incorrect UUID:

  1. Open Xcode -> Window -> Organiser
  2. In the left-hand pane, select Archives
  3. Select the archive that corresponds to the version you noted down in Step A)
  4. In the right hand pane, select Download Debug Symbols
  5. Once finished downloading, in the Organiser right click the archive -> Show in Finder
  6. In Finder, right click the archive -> Show Package Contents
  7. Go to the dSYMs directory
  8. Optional: Sort the finder list by Size in DESC order
  9. Starting from the top, right click the first dsym file -> Show Package Contents
  10. Navigate to Contents -> Resources -> Dwarf
  11. Compare the name of the file inside the Dwarf directory with the Library name you noted down in Step B) 6.
  12. Take action: 12.1. If it matches, follow the steps outlined in @duyquang91 excellent writeup to replace the UUID 12.2. If it doesn’t match, repeat step 9 - 12, going through all dsym files until you found the right one

@github-community The finding and replacing part in Step C) screams for automation 🤖