Change uuid in dsym file
Asked Answered
N

2

5

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.
Neutral answered 29/5, 2017 at 7:50 Comment(3)
Why don't you try to find the original dsym files which are contained in the .xcarchive file?Cerberus
@KevinLi what if somehow original .xcarchive is lostAuditor
did you find a solution ?Friday
F
7

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.

Fidele answered 8/4, 2019 at 20:10 Comment(1)
Just in case anyone is confused how to change UUID with a hex editor, this article is right on the point (I'm not the author): mcomisso.me/2016/07/05/edit-dsym-to-fit-a-missing-uuidFeral
F
5

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

Feral answered 5/8, 2021 at 15:57 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.