我对iOS应用程序的崩溃日志符号化比较熟悉,但这个让人费解。
我的应用程序MyApp已经构建成2345版本,并通过TestFlight作为beta版本发布,使用Xcode 7.2 (7C68)中的正常归档和上传到应用商店流程。
当我在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
目前为止,一切都还不错。
然而,我通过“组织”>“崩溃”收到了一个有关构建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...
我启用了位码(bitcode),所以我尝试从组织者存档页面下载dSYMs(即使我是构建了arm64,所以苹果不应该有必要),它检索到了与崩溃报告中其他UUIDs/二进制文件相关的dSYMs,但没有关于myapp
二进制文件的任何内容。事实上,myapp
二进制文件是唯一一个没有相应的dSYM下载的二进制文件!
所以有几个问题:
3715db2438743cf5aac1742d9a214c2c
版本的myapp
二进制文件来自哪里?- 如何获取其dSYM以便我可以解析这个崩溃?苹果在Xcode的“下载dSYMs”选项中没有返回它。