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.
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.
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.
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 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.
dwarfdump -u <PathToYourAppsDsym>
This will show you the associated UUID of respective dsym
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.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With