更改 dsym 文件中的 uuid
Posted
技术标签:
【中文标题】更改 dsym 文件中的 uuid【英文标题】:Change uuid in dsym file 【发布时间】:2017-05-29 07:50:11 【问题描述】:我一直在尝试更改生成的 dsym 文件的 uuid
,以便 crashlytics 可以将崩溃日志与 dsym
匹配。
你知道有什么方法吗?
更多上下文:
在构建期间上传 dsym 的脚本失败,我没有注意到。 Bitcode 被禁用,因此 iTunes connect 中没有 dsym 文件。 我能够从完全相同的源代码构建项目,因此来自dsym
的符号化崩溃日志应该可以工作
我仍在尝试从 crashlytics 获取崩溃日志,但他们的 UI 不支持它,因此我寻求他们的支持,然后我应该能够在本地对其进行符号化。
【问题讨论】:
为什么不尝试找到包含在 .xcarchive 文件中的原始 dsym 文件? @KevinLi 如果原始 .xcarchive 丢失了怎么办 你找到解决办法了吗? 【参考方案1】:如果你有完全相同的源代码和编译器版本,你可以重新构建它并替换新的 uuid。
为了实现这个运行dwarfdump -u <yourapp>.dSYM
查看新的uuid。然后用十六进制编辑器打开<yourapp>.dSYM/Contents/Resources/DWARF/<yourapp>
,找到新的uuid并替换为你需要的。
【讨论】:
以防万一有人对如何使用十六进制编辑器更改 UUID 感到困惑,这篇文章是正确的(我不是作者):mcomisso.me/2016/07/05/edit-dsym-to-fit-a-missing-uuid【参考方案2】:更改 dSYM 的 UUID 的步骤:
-
安装 MachO 查看器/编辑器。我用过这个:https://sourceforge.net/projects/machoview/
使用 MachO 编辑器打开位于 dSYM 中的 DWARF 文件:
XXX.dSYM/Contents/Resources/DWARF/<BINARY_NAME>
在 MachO 编辑器中,找到“加载命令 -> LC_UUID”,然后将现有 UUID 编辑为您需要匹配 Crashlytics 的 UUID。 (见截图)
确保保存更改。
使用dwarfdump -u XXX.dSYM
验证UUID 是否已成功更改。
【讨论】:
以上是关于更改 dsym 文件中的 uuid的主要内容,如果未能解决你的问题,请参考以下文章