下面是一个象征性的崩溃日志,很少有用户有经验。我自己从来没有能够重现崩溃。 这真的是我的应用程序错误吗?对我而言,似乎是UIKit在没有触及我的课程的情况下崩溃了。
由于我无法重现此次崩溃,我的选择是什么?
0 libobjc.A.dylib 0x3b29f626 objc_msgSend + 5
1 UIKit 0x3344c7f3 <redacted> + 1078
2 UIKit 0x334fecb3 <redacted> + 214
3 UIKit 0x333ade09 <redacted> + 316
4 UIKit 0x33326b57 <redacted> + 430
5 CoreFoundation 0x30aca039 <redacted> + 20
6 CoreFoundation 0x30ac79c7 <redacted> + 286
7 CoreFoundation 0x30ac7d13 <redacted> + 738
8 CoreFoundation 0x30a32769 CFRunLoopRunSpecific + 524
9 CoreFoundation 0x30a3254b CFRunLoopRunInMode + 106
10 GraphicsServices0x3599f6d3 GSEventRunModal + 138
11 UIKit 0x33391891 UIApplicationMain + 1136
12 MyApp 0x000b57c1 main (in MyApp) (main.m:17) + 26561
13 libdyld.dylib 0x3b793ab7 <redacted> + 2
答案 0 :(得分:1)
除了试图重现用户所做的一切之外,对此没有任何好的答案。
尝试访问相同的硬件并尝试模拟用户正在接收的所有网络活动。
每当我遇到崩溃时我都无法重现我总是开始向发送给有问题的用户的应用程序的自定义版本添加越来越多的日志记录,最终这种方法应该跟踪错误。
用户非常擅长发现问题...作为一个例子,我曾经遇到过一些愚蠢的错误,因为他们的时区被设置为错误的城市 - 这意味着他们的时钟相比几个小时到我服务器的时间。应用程序崩溃了,因为它是未来的处理日期,代码认为这是不可能的。
因此,要回答您的问题,请开始记录与您认为可能导致崩溃的任何内容相关的所有内容。