我有一个 OSX 桌面 Xcode 项目,其中包括另一个 Xcode 项目(一个框架)作为依赖项。当我构建应用程序的存档时,它会生成两个 dSYM 包 - 一个用于应用程序,一个用于框架。
当我表示从应用程序收到的崩溃时,应用程序包中的符号会正确显示(带有文件名和行号)。但是,框架中的符号根本不具有象征意义——它们只是显示框架名称和内存地址。有没有办法表示涉及框架代码的堆栈跟踪部分?
查看我从中生成 .app 包的存档,框架的 dSYM 的 UUID 与复制到 .app 中的“Frameworks”文件夹中的 UUID 不匹配:
归档文件中 .app 包内的 HCCommon 框架:
/path/to/HipChat.xcarchive $ dwarfdump --uuid Products/Applications/HipChat.app/Contents/Frameworks/HCCommon.framework/HCCommon
UUID: 84891A9C-19DB-3E16-BE7E-9D4056FFFB97 (x86_64) Products/Applications/HipChat.app/Contents/Frameworks/HCCommon.framework/HCCommon
vs HCCommon 框架的 dSYM(在归档文件的 dSYMs 目录中):
/path/to/HipChat.xcarchive $ dwarfdump --uuid dSYMs/HCCommon.framework.dSYM/Contents/Resources/DWARF/HCCommon
UUID: 767F2D97-9E0B-3C4D-8337-FDF5A9CA2D81 (x86_64) dSYMs/HCCommon.framework.dSYM/Contents/Resources/DWARF/HCCommon