EXC_BREAKPOINT崩溃.可能的越狱问题?

Dar*_*ren 8 iphone crash objective-c jailbreak ios

我今天收到了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
Run Code Online (Sandbox Code Playgroud)

现在,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
Run Code Online (Sandbox Code Playgroud)

这个甚至没有显示ViewController导致崩溃的原因!

有什么想法吗?

Mac*_*n13 9

请注意,这种东西很难调试,特别是没有代码和任何其他上下文而不是这个崩溃日志.我会尝试给出一些我会做的指示/事情.

iPad 2.5的第一款似乎是iPad迷你WiFi,但我对此并不完全确定.因此,在iPad mini上测试您的应用程序(也在使用iOS 5.1.1的设备上进行测试),看看会发生什么,关注UIActionSheet您使用的实例并开始测试GraphViewController.确保所有可以认为正常工作的案例.

如果这样可行并且这些是您唯一的2个碰撞报告:不要惊慌!我不知道您的应用程序有多少用户,但其中只有2个曾经崩溃过一次.你说他们可能越狱了他们的设备,他们知道应用程序会因此而崩溃.

考虑到这一点,决定是否值得花费更多时间来解决这个问题.

如果它是你可以查看在使用UIActionSheet实例期间可能释放的对象或块,EXC_BAD_ACCESS基本上说'OMG,我们必须使用的对象已经消失!'.

EXC_BREAKPOINT大部分时间都告诉您,您引用的是不存在的符号或框架.这可能是因为手机被越狱或因为你说你的应用程序与iOS版本X兼容,但是你使用的框架/方法只能在更新的版本中使用.所以也检查一下.

我希望通过这种方式您可以找到一些可疑代码并能够在StackOverflow上发布这些代码,或者您可以自己解决问题.

希望这能为正确的方向提供一些帮助,但是,再一次,只有没有代码或能够进行一些测试的崩溃报告并没有太多的继续...

  • 如果越狱设备安装了一个mod,它可以显示"UIActionSheet"或用"UIActionSheet"的"改进"版本替换它,这样就可以了.开发人员更有可能做了相关iOS版本不支持的东西,但我看到安装了不稳定mod的越狱设备发生了疯狂的崩溃.(当然,越狱本身几乎没有任何伤害.) (8认同)
  • "你引用的是一个不存在的符号或框架.这可能是因为电话被越狱了" - 绝对不是. (2认同)