【发布时间】:2014-03-26 21:12:09
【问题描述】:
有没有办法在运行时从应用程序中获取 dSYM 文件的 UUID?
我尝试使用我找到的示例代码,但它返回的 UUID 与 dSYM 的不同。
谢谢。
【问题讨论】:
-
为应用构建生成的 UUID 与同时为 dSYM 生成的 UUID 相同。 UUID(对于每个架构)会自动添加到两个文件中。为什么需要在运行时获取这个 UUID?
有没有办法在运行时从应用程序中获取 dSYM 文件的 UUID?
我尝试使用我找到的示例代码,但它返回的 UUID 与 dSYM 的不同。
谢谢。
【问题讨论】:
dwarfdump -u <PathToYourAppsDsym>
这将显示相应 dsym 的关联 UUID
【讨论】:
如果您需要知道与您的 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 替换为您的应用程序的名称。
【讨论】:
要获取应用程序的构建 UUID,请查看我的旧帖子的这个答案。 How to get the build UUID in runtime and the image base address
【讨论】: