获取应用程序运行时归档时 dSYM 具有的 UUID
Posted
技术标签:
【中文标题】获取应用程序运行时归档时 dSYM 具有的 UUID【英文标题】:Get the UUID that the dSYM have when archive in runtime for the application 【发布时间】:2014-03-26 21:12:09 【问题描述】:有没有办法在运行时从应用程序中获取 dSYM 文件的 UUID?
我尝试使用我找到的示例代码,但它返回的 UUID 与 dSYM 的不同。
谢谢。
【问题讨论】:
为应用构建生成的 UUID 与同时为 dSYM 生成的 UUID 相同。 UUID(对于每个架构)会自动添加到两个文件中。为什么需要在运行时获取这个 UUID? 【参考方案1】:dwarfdump -u <PathToYourAppsDsym>
这将显示相应 dsym 的关联 UUID
【讨论】:
【参考方案2】:如果您需要知道与您的 ios 应用程序关联的 UUID,您可以采取一个巧妙的技巧来获取它:
$> mdls -name com_apple_xcode_dsym_uuids -raw "$APP_NAME.app.dSYM" | grep -e \" | sed 's/[ |\"]//g'
这样做是在 Spotlight 元数据中查询应用程序的 UUID 键,您传入 .dSYM 是因为它与之关联。
grep 命令只考虑具有实际 UUID 的行; sed 命令清除空格和引号。
我使用它是因为我需要将 .xcarchive 目录上传到服务器,该服务器不存储任何 Spotlight 元数据,所以我需要将它明确地放在那里。这一切都是在将崩溃日志与特定版本的二进制文件相关联的上下文中完成的。
注意:将 $APP_NAME 替换为您的应用程序的名称。
【讨论】:
谢谢,但我需要从我的应用程序中获取此信息。使用 Objective-C 代码是否可行? 我不清楚我是否正确理解了您的问题,但“.app”对 DSYM 文件一无所知。你能解释一下,为什么你需要这样做吗? 这样我就可以正确地进行符号化了。看来我必须让 dSYM 文件构建 UUID,对应于应用程序映像基地址 uuid,但这不一致。我可能错了。 我的问题已经解决了,非常感谢。如果您对***.com/questions/19848567/… 感兴趣,答案就在我很久以前的原始帖子中,我只是将项目存档,结果得到了错误的 dSYM UUID,而不是我测试的那个。【参考方案3】:要获取应用程序的构建 UUID,请查看我的旧帖子的这个答案。 How to get the build UUID in runtime and the image base address
【讨论】:
以上是关于获取应用程序运行时归档时 dSYM 具有的 UUID的主要内容,如果未能解决你的问题,请参考以下文章