我非常熟悉iOS应用程序的崩溃日志是如何被象征化的,但这个是一个令人头疼的问题 .
我的MyApp版本为2345,通过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
....
我确定崩溃报告是针对相同的构建,但是当我希望它是 b2a69bec...
时,这里的UUID是 3715db2...
我确实启用了bitcode,所以我尝试从Organizer Archive页面下载dSYMs(尽管我已经构建了arm64,因此Apple不应该这样做)并且它在崩溃报告中为其他UUID /二进制文件检索了dSYM但是没有 myapp
二进制 . 实际上, myapp
二进制文件是唯一没有下载相应dSYM的二进制文件!
所以有几个问题:
-
myapp二进制文件的
3715db2438743cf5aac1742d9a214c2c
版本来自哪里? -
如何获取dSYM以便我可以象征崩溃? Apple没有在Xcode中使用"Download dSYMs"选项返回它 .
2 回答
看起来我找到了解决方案 .
如果您启用了Bitcode,则可能 . 要获得必要的dSym,您应该使用“下载dSYMs ...”按钮(Xcode / Organizer / Your Archive - 带有存档信息的右侧面板)或从iTunes Connect下载它们(活动选项卡,构建详细信息中的链接) .
最后一个选项对我的情况有所帮
存储在.xcarchive中的