Symbolicating Crashes for Applications Submitted with Bitcode

In Xcode 7, we added the ability to include bitcode with your app submission. Including bitcode will allow Apple to re-optimize your app binary in the future without the need to submit a new version of your app to the store. Read App Thinning to learn more.


If you would like to view crashes that originated from your app distributed via TestFlight or App Store, you may use the Xcode Crashes Organizer.


Alternatively, you may retrieve and symbolicate crashes from a distributed app directly from your device using the Devices Window. Xcode will symbolicate the crashes found on your device automatically as long as you have the appropriate dSYMs and the app version that crashed. If you upload your app with bitcode, the App Store will compile your app from bitcode and retain the dSYMs necessary to symbolicate your application’s crashes. The dSYMs can be downloaded at any time using the Archive organizer’s Download dSYMs button. This button downloads the dSYMs from all bitcode compiled generations of your app and inserts them into the the original Archive used to upload your app. In order to download these dSYMs, you must retain the original archive used to upload the app.


For more information on symbolicating distributed apps directly from your device in the Devices window, read Analyzing Crash Reports.

Replies

Mine all show symbols uploaded. One app symbolicates and 2 do not.

Same here. We only get hex symbols for our code. System code is symbolicated.

I have a tvOS app and Xcode's crash organizer does not symbolicate the crash reports. I have a hunch that this is because tvOS apps always use bitcode. I've filed a radar. I hope this gets resolved soon! I see a number of crash reports, but I am unable to reproduce them locally, and symbolicated crash logs would be very helpful in fixing the issue. (My bug number is 24644737.)

Yes, "Include Symbols" is set to "Yes" for me. So at least that part works. But the problem still persists that the UUID in the crash reports is different from the build on my machine (or in the dSYM file), presumably because it's the UUID for the bitcode build. So when I get crash reports, they're impossible to symbolicate because of the mis-matched UUIDs.

My crash logs are also not symbolicating correctly. I am opted into bitcode and including symbols. System library symbols symbolicate fine, but symbols from my app do not. I was able to grab one of the crash logs directly off the device and I found that the UUID in that log doesn't match the UUIDs of the dsyms that are in my archive.


I tried clicking the "Download dsyms" button in the Organizer window, but that gives me a response that no dsyms are available. However, if I go into iTunes connect, I can see that there are dsyms available for these builds, and I can even download them. Is there any way to get those manually downloaded dsyms into Xcode so I can resymbolicate the crash logs?

I can't symbolicate the crash logs I downloaded from itunes connect fully either and so I can't figure out why my app get rejected becasue I can't duplicate the crash. Any updates?

I'm seeing the same issues with my tvOS app. Shows crashes but cannot symboilcate any of them. I've tried downloading the dSYMs in the organizer but that doesn't help.

Hi Apple,


Our bitcode enabled app with symbols uploaded does not symbolicate either.


Note that downloading dSYMs only shows 2 different versions for each binary object. I don't know how many different versions the App Store is generating, but the UUIDs in the dSYMs don't match any of the crash log UUIDs...


Kind of painful debugging without symbolication.

I recommend reading the explanation from a_periz here: https://twittercommunity.com/t/not-matching-uuid-bitcode/61000. It seems that in many situations the missing dSYM file is available in iTunes Connect, even if the Xcode Organizer "Download dSYMs" button says "There are no dSYMs available for download."


In my experience, Crashlytics showed me that a dSYM was missing, but when I went to that build's archive through the Organizer, the UUIDs of the dSYMs didn't match the UUID that was missing in Crashlytics. Typing mdfind "com_apple_xcode_dsym_uuids == <UUID>" into the terminal wasn't able to find the dSYM on my computer either. However, when I went to iTunes Connect > My Apps > Activity > All Builds > # > Build Details > Download dSYM, that zip file contained several dSYMs and one of them matched the UUID that Crashlytics wanted. I'm not sure if the button in the Xcode Organizer to "Download dSYMs" intentionally doesn't download the same files, but it seems that there is a difference, whether intentional or a bug.

This forum software won't let me post the steps to work around this bug, so here it is:


https://gist.github.com/anonymous/cdb5ba3791cfd7d312c2


Hope this helps.

FIled a radar bug: 25506150 . I can confirm our itunesConnect account has: "Include Symbols": On. When I download the dsym logs from itunesConnect, it shows symbols as hidden. This is a troubling bug for us as we have bitcode enabled in our app. Any ETA from Apple on the fix as it seems like it is a long standing problem for many developers.

This issue is definitely not resolved.

We are using bitcode, symbols uploaded, and after downloading the dsyms and attempting to manually symbolicate, we are still seeing `hidden` in the stacktrace, meaning we're currently in a frightening place where we cannot fix bugs in our production app.

even i have same kind of issue ,but i have bitcode disabled,getting no options to download dysm files only getting unsymbolicated crash report in itunes connect .i cant see any crash logs in organiser window as well.

Did you find a solution to your problem? I'm having exactly the same problem. A crash in a framework included is symbolicated correctly, but a crash in the main app not.

After fighting a bit with symbolication of my bitcode builds I came to this solution:


http://plainoldstan.blogspot.cz/2016/05/symbolicating-bitcode-crash-logs-in.html


I wonder if it would not work for you as well. I was feeling in the same bad way when crashes started to happen in my new release and I was seeing just meaningless stacktraces in xcode.