我今天收到了Crashlytics的崩溃报告,无法弄清问题是什么。我的应用程序已经存在了几个月没有问题,所以这似乎是一次性的。
崩溃是Exception Type EXC_BREAKPOINT Code UNKNOWN at 0xdefe
1 UIKit _shadowImageInRectForSlice + 258
2 UIKit _shadowImageInRectForSlice + 258
3 UIKit -[UIActionSheet(Private) layout] + 3586
4 UIKit -[UIActionSheet(Private) presentSheetInView:] + 268
5 myapp GraphViewController.m line 135
-[GraphViewController graphButtonPressed:] + 135
6 UIKit -[UIApplication sendAction:to:from:forEvent:] + 72
7 UIKit -[UIBarButtonItem(UIInternal) _sendAction:withEvent:] + 120
8 UIKit -[UIApplication sendAction:to:from:forEvent:] + 72
9 UIKit -[UIApplication sendAction:toTarget:fromSender:forEvent:] + 30
10 UIKit -[UIControl sendAction:to:forEvent:] + 44
11 UIKit -[UIControl(Internal) _sendActionsForEvents:withEvent:] + 502
12 UIKit -[UIControl touchesEnded:withEvent:] + 488
13 UIKit -[UIWindow _sendTouchesForEvent:] + 524
14 UIKit -[UIApplication sendEvent:] + 380
15 UIKit _UIApplicationHandleEvent + 6154
16 GraphicsServices _PurpleEventCallback + 590
17 GraphicsServices PurpleEventCallback + 34
18 CoreFoundation __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE1_PERFORM_FUNCTION__ + 34
19 CoreFoundation __CFRunLoopDoSource1 + 138
20 CoreFoundation __CFRunLoopRun + 1384
21 CoreFoundation CFRunLoopRunSpecific + 356
22 CoreFoundation CFRunLoopRunInMode + 104
23 GraphicsServices GSEventRunModal + 74
24 UIKit UIApplicationMain + 1120
25 myapp main.m line 16
main + 16
现在,ViewController的第135行仅为[actionSheet showInView:self.view];
UIActionSheet
崩溃发生在iPad2.5上(不确定是哪种型号),但我的应用程序只是iPhone,所以本来就是窗口。和iOS 6.1
另外需要注意的是,该设备是Jailbroken。这可能导致了崩溃吗?我知道他们可以安装任何类型的插件来操纵视图。
---------- ----------附加
在写这篇文章的同时,我收到了第二份崩溃报告,它似乎来自不同的用户,因为这次是iPhone4.1上的iOS 5.1.1。这部手机也被越狱了。
Exception Type EXC_BAD_ACCESS Code KERN_INVALID_ADDRESS at 0x4003109b
0 libobjc.A.dylib objc_msgSend + 15
1 UIKit -[UIActionSheet(Private) _buttonClicked:] + 250
2 CoreFoundation -[NSObject performSelector:withObject:withObject:] + 52
3 UIKit -[UIApplication sendAction:to:from:forEvent:] + 62
4 UIKit -[UIApplication sendAction:toTarget:fromSender:forEvent:] + 30
5 UIKit -[UIControl sendAction:to:forEvent:] + 44
6 UIKit -[UIControl(Internal) _sendActionsForEvents:withEvent:] + 492
7 UIKit -[UIControl touchesEnded:withEvent:] + 476
8 UIKit -[UIWindow _sendTouchesForEvent:] + 318
9 UIKit -[UIWindow sendEvent:] + 380
10 UIKit -[UIApplication sendEvent:] + 356
11 UIKit _UIApplicationHandleEvent + 5826
12 GraphicsServices PurpleEventCallback + 882
13 CoreFoundation __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE1_PERFORM_FUNCTION__ + 38
14 CoreFoundation __CFRunLoopDoSource1 + 140
15 CoreFoundation __CFRunLoopRun + 1370
16 CoreFoundation CFRunLoopRunSpecific + 300
17 CoreFoundation CFRunLoopRunInMode + 104
18 GraphicsServices GSEventRunModal + 136
19 UIKit UIApplicationMain + 1080
20 myapp main.m line 16
main + 16
这个甚至没有显示导致崩溃的ViewController
!
有什么想法吗?
答案 0 :(得分:9)
请注意,这种东西很难调试,特别是没有代码和任何其他上下文而不是这个崩溃日志。我会尝试给出一些我会做的指示/事情。
iPad 2,5 seems to be the iPad mini WiFi的第一个,但我对此并不完全确定。因此,在iPad mini上测试您的应用程序(也在使用iOS 5.1.1的设备上进行测试),看看会发生什么,关注您使用的UIActionSheet
个实例并开始在GraphViewController
中进行测试。确保所有可以认为正常工作的案例。
如果有效并且这些是你唯一的2个崩溃报告:不要惊慌!我不知道你的应用有多少用户,但只有2个有此崩溃一旦。你说他们可能越狱了他们的设备,他们知道应用程序会因此而崩溃。
考虑到这一点,决定是否值得花更多的时间和精力来解决这个问题。
如果是,你可以查看在使用UIActionSheet
实例期间可以释放的对象或块,EXC_BAD_ACCESS
基本上说'OMG,我们必须使用的对象已经消失!'。< / p>
EXC_BREAKPOINT
大多数时候都会告诉您,您引用的是不存在的符号或框架。这可能是因为手机被越狱或因为你说你的应用程序与iOS版本X兼容,但是你使用的框架/方法只能在更新的版本中使用。所以也检查一下。
我希望通过这种方式您可以找到一些可疑代码并能够在StackOverflow上发布,或者您可以自己解决问题。
希望这能为正确的方向提供一些帮助,但是,再一次,只有一个没有代码或能够进行一些测试的碰撞报告并不是很多......