Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Fabric requesting dSYM that's not in archive or iTunes Connect dSYM file

I have an app with Crashlytics installed. To get the dSYM files for it, I've always gone to Window/Organizer, right click to show in finder, right click "show package contents" and go to the dSYM directory to get them.

In this instance, Crashlytics is saying it's missing a dSYM file which is a random string of numbers and letters (65cbd90a2b443d36ab7a6a419b797a71). When I go to look for it using the methodology described above, I'm only seeing a file named MyApp.app.dSYM and dSYM files for several frameworks I've incorporated via CocoaPods. I tried using dragging and dropping that file, but Fabric insists on the random string.

I've tried showing package contents of MyApp.app.dSYM, but don't see anything inside it except a "Contents" folder and a "Resources" folder w/ a DWARF subdirectory and a file with no extension called "My App".

Upon reviewing this post, I am 99% certain I can't just build an archive and resubmit it.

I've also tried downloading the dSYM directly from iTunesConnect, as outlined in this post.

I tried uploading that dSYM "as is" as well as zipping it (dSYM.zip), but Fabric still wants that random string that doesn't seem to exist in either the local archive nor the dSYM on iTunesConnect.

Any suggestions re: additional methods I might get the dSYM file Crashlytics is asking for are greatly appreciated.

like image 371
Adrian Avatar asked Feb 25 '16 18:02

Adrian


People also ask

Where is the dSYM file located?

Your app's dSYM files are stored in Xcode's dSYM archive path folder. This is the folder where the iOS agent gets the dSYM files that are used to symbolicate your crash reports.

What is dSYM file?

A dSYM file is an ELF file that contains DWARF (debugging with attributed record formats) debug information for your application. DWARF is a debugging file format that supports source-level debugging.


2 Answers

You're almost there when you download the DSYM package from iTunes Connect! After downloading, add a .zip extension, and double click to unzip it.

In the folder of DSYMs produced, there will be one titled 65cbd90a2b443d36ab7a6a419b797a71 (the one Crashlytics is asking for). If it's not there - double check you are looking at the same builds on Crashlytics and iTunes connect.

Upload just that file to Crashlytics.

Problem solved. đź‘Ť

like image 66
Jordan Smith Avatar answered Oct 11 '22 21:10

Jordan Smith


For non-Bitcode enabled apps, Crashlytics will automatically upload your dSYMs. If you have enabled Bitcode in your app then you need to upload dSYMs Manually.

Bitcode enabled applications are required to download their dSYM from Xcode and then upload it to Crashlytics in order to symbolicate the crashes. DSYMs for Bitcode enabled apps can be downloaded from Xcode’s Organizer. Select the specific Archive of your app and then hit the “Download dSYMs” button which will insert the Bitcode compiled dSYMs into the original Archive.

enter image description here

Uploading dSYMs Manually

If you find that dSYMs aren’t being picked up, you can add them manually by going to your app settings page, selecting an app, and click on the “Missing DSYMs” tab to upload the dSYM.

enter image description here

To help find where the dSYM is located, run this command in an open terminal:

mdfind "com_apple_xcode_dsym_uuids == <UUID>"

To find all dSYM try

mdfind "com_apple_xcode_dsym_uuids == *"

Also, if you upload a dSYM to Fabric, you should check that the UUID matches the one that is missing. Running this command in an open terminal will give you the UUID of the dSYM.

dwarfdump -u <PathToYourAppsDsym>

Reference

Crashlytics Advanced Setup

like image 35
Vineet Choudhary Avatar answered Oct 11 '22 21:10

Vineet Choudhary