15

我非常熟悉 iOS 应用程序的崩溃日志是如何符号化的,但这个是一个令人头疼的问题。

我有带有 build 2345 的 MyApp,它通过 TestFlight 作为测试版发布,使用正常的存档,然后在 Xcode 7.2 (7C68) 中上传到 App Store 流程。

当我为 xcarchive 中的二进制文件执行 dwarfdump 时,我得到以下信息:

dwarfdump --uuid MyApp.app/MyApp
UUID: 0BDA6D6F-3C0D-339E-842F-C2CB04199E10 (armv7) MyApp.app/MyApp
UUID: B2A69BEC-DF5E-33EA-A9E0-490EBF03074C (arm64) MyApp.app/MyApp

这是 dSYM 文件的 dwarfdump:

dwarfdump --uuid MyApp.app.dSYM
UUID: 0BDA6D6F-3C0D-339E-842F-C2CB04199E10 (armv7) MyApp.app.dSYM/Contents/Resources/DWARF/MyApp
UUID: B2A69BEC-DF5E-33EA-A9E0-490EBF03074C (arm64) MyApp.app.dSYM/Contents/Resources/DWARF/MyApp

到目前为止,一切都很好。

但是,我通过 Organize > Crashes for build 2345 收到了一个崩溃,它对二进制文件有不同的 UUID:

0x100054000 - 0x1000fffff myapp arm64  <3715db2438743cf5aac1742d9a214c2c> /var/mobile/Containers/Bundle/Application/7313BC02-3F90-4F94-82E2-CBDC941E5D68/MyApp.app/myapp
0x100144000 - 0x1001e7fff AWSCore arm64  <c2aa13236d0437b98194c0487db69e68> /var/mobile/Containers/Bundle/Application/7313BC02-3F90-4F94-82E2-CBDC941E5D68/blink.app/Frameworks/AWSCore.framework/AWSCore
....

我确定崩溃报告是针对同一个版本的,但是这里的 UUID 是3715db2...我期望的b2a69bec...

我确实启用了位码,所以我尝试从 Organizer Archive 页面下载 dSYM(即使我构建了 arm64,所以 Apple 不应该这样做),它检索了崩溃报告中其他 UUID/二进制文件的 dSYM,但没有myapp二进制。事实上,该myapp二进制文件是唯一没有下载相应 dSYM 的二进制文件!

所以有几个问题:

  1. myapp 二进制文件的3715db2438743cf5aac1742d9a214c2c版本来自哪里?
  2. 我怎样才能得到它的 dSYM 以便我可以象征崩溃?Apple 不会使用 Xcode 中的“下载 dSYM”选项返回它。
4

2 回答 2

7

看起来我找到了解决方案。

如果您设置启用 Bitcode,这是可能的。要获得必要的 dSym,您应该使用“下载 dSYM...”按钮(Xcode / Organizer / Your Archive - 带有存档信息的右侧面板)或从 iTunes Connect 下载它们(活动选项卡,构建详细信息中的链接)。

iTunes 连接

最后一个选项对我的情况有所帮助。

于 2016-11-09T14:24:32.733 回答
0
  1. dSYM 存储在您的 .xcarchive 中 右键单击​​管理器中的存档,然后显示包内容。它应该在那里。
于 2016-02-02T16:52:26.130 回答