我从最近几次构建中注意到它,crashlytics没有发送正确的崩溃报告...在崩溃报告中我无法调试崩溃发生在哪个类上 .
虽然我也尝试过手动上传DSYM并使用面料,但我确实按照他们网站上的所有说明进行了操作 .
我也试过通过从itunesconnect下载来上传DSYM,但没有给出正确的崩溃日志
Sample Crash report
Fatal Exception: NSRangeException
0 CoreFoundation 0x18cbcefe0 __exceptionPreprocess
1 libobjc.A.dylib 0x18b630538 objc_exception_throw
2 CoreFoundation 0x18caad200 -[__NSArrayM removeObjectAtIndex:]
3 MyApp 0x1001a3550 _hidden#4208_ (__hidden#4311_:498)
4 MyApp 0x10012c008 _hidden#1377_ (__hidden#1463_:318)
5 MyApp 0x10012f888 _hidden#1403_ (__hidden#1463_:753)
6 MyApp 0x100132448 _hidden#1497_ (__hidden#1511_:352)
7 MyApp 0x1001dc1b8 _hidden#5257_ (__hidden#5321_:209)
8 Foundation 0x18d6c24cc __NSThreadPerformPerform
9 CoreFoundation 0x18cb7d42c __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__
10 CoreFoundation 0x18cb7cd9c __CFRunLoopDoSources0
11 CoreFoundation 0x18cb7a9a8 __CFRunLoopRun
12 CoreFoundation 0x18caaada4 CFRunLoopRunSpecific
13 GraphicsServices 0x18e514074 GSEventRunModal
14 UIKit 0x192d65058 UIApplicationMain
15 MyApp 0x10018b9cc main (__hidden#3728_:14)
16 libdyld.dylib 0x18bab959c start
为什么它被_hidden#4208?
3 回答
我的问题是,我正在使用命令行工具创建构建,并且没有使用bitcode标志 . 所以它给我提供了不正当的崩溃报告 . 现在我在我的IPA中包含bitcode符号,然后在将其上传到itunesconnect之后如果我为我的IPA下载dsym并将其上传到crashlytisc缺少的dsym部分,我会得到所有正确的崩溃报告 .
请在Xcode Bitcode, Include Symbols settings effect on dSYM generation上查看Matt的回答
我没有尝试过,但我认为按照马特答案中提到的指导原则,您可以解决您的疑问 .
试试这个
转到 Build Settings
然后转到 Build Options
在构建选项中转到 Debug Information Format
并将 Debug 的 DWARF 更改为 DWARF with DSYM File .
现在再次按照Fabric crashlytics步骤进行操作,您一定会获得正确的崩溃报告 .
请参阅下面的截图