6
votes

I face to the following issue with iOS app (XCode 10.3):

  • Crashlytics says that I have a missing dSYM, and provides the missing dSYM UUID (I have both required and optional UUIDs missing)
  • The app is BitCode app, and dSYMs are downloaded from AppStore, and uploaded to Crashlytics. I see many other crashes from the other dSYMs that were downloaded and de-symbolicate correctly.
  • The app is multi-target app. Before, when the app was just single target app, everything worked fine. The additional targets seems to be an issue.
  • All targets have BitCode and DWARF with dSYM selected
  • All targets call Crashlytics run in build phase (at least I believe I do this correctly)
  • Targets are watch app, watch app extension, Siri intent, Siri intent UI, and the iOS app widget.
  • I have manually opened the downloaded dSYM from AppStore and the missing dSYM UUID is really missing.
  • I also checked the locally built app archive, and the dSYM UUID is not there (yes, expected result)

Any idea, where to get the missing dSYM, would make a bit happier... Please.

1
Same problem here. This probably isn't anything to do with Crashlytics. You can get a little lower level by getting your build UUID from the crash report, normally the first line in the Binary Images section is the app, followed by frameworks, and the bit in angle brackets is the UUID for the image. If there is a matching dsym, it symbolicates, bug for crashes I can't symbolicate, the dsym is missing. - Gordon Dove
This has nothing to do with Crashlytics for sure. The root cause seems to be AppStore, because I download less dSYM files from AppStore than I did upload. I have not resolved this issue, I have found the bug and fixed the crash. What helped me a bit is XCode -> Window -> Organizer -> Crashes. Not showing everything by far, but showed me the missing info for fixing the bug. - Michael Bernat
Just did some more digging. On a hunch, I just tried dwarfdump --lookup=<offset> where offset is the + number in the stack trace, using a non-matching dsym file for the same binary and architecture. This gave me the same location as a different crash report that was symbolicating from the same build. I don't have more time to spend now, but my best guess is that it is a framework that hasn't changed from a beta install or similar, so it has a different UUID, but same code. - Gordon Dove

1 Answers

1
votes

Try using mdfind "com_apple_xcode_dsym_uuids == <UUID>" to find a dSYM witha specific UUID on your machine.

If this doesn't work then my hunch is that crashlytics catches crashes from these non-supported targets, also shows missing UUIDs but the dSYM files are not available at all, not even on iTunes Connect.