Change uuid in dsym file

Viewed 1189

I've been trying to change uuid of generated dsym file so that crashlytics can match up crash logs with the dsym.

Do you know of any way to do it?

For more context:

  • Script uploading the dsym during build failed and I did not notice.
  • Bitcode is disabled, therefore there isn't dsym file in itunes connect.
  • I am able to build project from exactly the same source code, so symbolicating crash log from the dsym should work
  • I am still trying to get crash logs from crashlytics but their UI doesn't support it therefore I reached out to their support and then I should be able to symbolicate it locally.
2 Answers

If you have exact same source code and compiler version, you can build it again and replace new uuid.

To achieve this run dwarfdump -u <yourapp>.dSYM to view new uuid. Then open <yourapp>.dSYM/Contents/Resources/DWARF/<yourapp> with hex editor, locate new uuid and replace with one you needed.

Steps to change UUID of a dSYM:

  1. Install a MachO viewer/editor. I used this one: https://sourceforge.net/projects/machoview/
  2. Use your MachO editor to open the DWARF file located in the dSYM: XXX.dSYM/Contents/Resources/DWARF/<BINARY_NAME>
  3. In the MachO editor, find 'Load Commands -> LC_UUID' then edit the existing UUID to the one you need to match Crashlytics. (see screenshot)
  4. Make sure you save the change.
  5. Use dwarfdump -u XXX.dSYM to verify the UUID has been changed successfully.

MachOEditorEditUUID

Related