Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Get the UUID that the dSYM have when archive in runtime for the application

Tags:

uuid

ios

dsym

Is there any way to get the UUID the dSYM file has from the application in runtime?

I tried with a sample code I found but it returns a different UUID than the dSYM's one.

Thank you.

like image 745
George Taskos Avatar asked Mar 26 '14 21:03

George Taskos


People also ask

Where is the dSYM file in Visual Studio 2017?

If you have not enabled device-specific builds, the .dSYM can be found in the following directory: As part of the build process, Visual Studio 2017 copies the .dSYM file from the Mac build host to Windows. If you do not see a .dSYM file on Windows, be sure you have configured your app's build settings to create an .ipa file.

How to fix dSYM file name is not UUID in Firebase?

Sometime, the dSYM file name is not UUID but binary name. To get the UUID of a certain dSYM file, use this command: dwarfdump -u <dSYM_file> After finding the file, follow this step from Firebase crashlytics to upload it manually. Wait for few minutes to let Firebase crashlytics re-process the crash reports again then the issue would be dismissed.

How to upload dSYM files when bitcode setting is disabled?

If your app disables the Bitcode setting then you have to add a build phase script to upload the dSYM files automatically. Somehow, this step misses some dSYM files, we have to find the missing one then upload it manually.

Why do we need to fix the missing dSYM files?

Why do we need to fix this? The missing dSYM files cause the Firebase Crashlytics cannot process your crash report, it needs dSYM files to symbolicate the crash report from memory addresses to human-readable informations, for example what is function name, file name or the number line causes the crash.


2 Answers

dwarfdump -u <PathToYourAppsDsym>

This will show you the associated UUID of respective dsym

like image 111
Sazzad Hissain Khan Avatar answered Oct 21 '22 23:10

Sazzad Hissain Khan


If you need to know the UUID associated with your iOS application there's a neat trick you can do to get it:

$> mdls -name com_apple_xcode_dsym_uuids -raw "$APP_NAME.app.dSYM" | grep -e \" | sed 's/[ |\"]//g'

What this does is query the Spotlight metadata for the UUID key for your application, you're passing in the .dSYM because that's where it is associated with.

The grep command is there to only consider the line with the actual UUID; the sed command cleans whitespace and quotation marks.

I used this because I need to upload .xcarchive directories to a server, this server does not store any Spotlight metadata so I need to put it there explicitly. This is all done in the context of associating crash logs with specific versions of a binary.

Note: Replace $APP_NAME with the name of your application.

like image 26
gagarwal Avatar answered Oct 21 '22 23:10

gagarwal