更改dsym文件中的uuid

5
我一直在尝试更改生成的dSYM文件的uuid,以便Crashlytics可以将崩溃日志与dSYM匹配。您知道任何方法可以做到这一点吗?
更多背景信息: - 在构建期间上传dSYM的脚本失败了,我没有注意到。 - 禁用了Bitcode,因此在iTunes Connect中没有dSYM文件。 - 我能够从完全相同的源代码构建项目,因此应该可以从dSYM中解析崩溃日志。 - 我仍在尝试从Crashlytics获取崩溃日志,但他们的UI不支持它,因此我联系了他们的支持部门,然后应该能够在本地进行符号化。

为什么不尝试查找包含在.xcarchive文件中的原始dsym文件呢? - Kevin Li
@KevinLi 如果原始的.xcarchive不慎丢失了,该怎么办? - Sazzad Hissain Khan
你找到解决方案了吗? - CZ54
2个回答

7

如果你有完全相同的源代码和编译器版本,你可以重新构建它并替换新的uuid。

要实现这一点,请运行命令dwarfdump -u <yourapp>.dSYM以查看新的uuid。然后使用十六进制编辑器打开<yourapp>.dSYM/Contents/Resources/DWARF/<yourapp>文件,定位新的uuid并将其替换为所需的uuid。


如果有人不清楚如何使用十六进制编辑器更改UUID,这篇文章非常详细(我不是作者):https://mcomisso.me/2016/07/05/edit-dsym-to-fit-a-missing-uuid - Shane Qi

5

更改dSYM UUID的步骤:

  1. 安装MachO查看器/编辑器。我使用了这个:https://sourceforge.net/projects/machoview/
  2. 使用您的MachO编辑器打开位于dSYM中的DWARF文件:XXX.dSYM/Contents/Resources/DWARF/<BINARY_NAME>
  3. 在MachO编辑器中,找到“Load Commands -> LC_UUID”,然后将现有的UUID编辑为需要与Crashlytics匹配的UUID。(请参见屏幕截图)
  4. 确保您保存更改。
  5. 使用dwarfdump -u XXX.dSYM验证已成功更改UUID。

MachOEditorEditUUID


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接