UIGestureRecognizer SIGSEGV崩溃

时间:2014-02-21 02:07:02

标签: objective-c uigesturerecognizer sigsegv

我在我的应用中仅在iOS 7上遇到此问题。我们每天遇到大约一千起这些崩溃事件,但我们从未在内部看到它,并且没有明确的想法可能导致它。有人有任何见解吗?

Exception Type:  SIGSEGV
Exception Codes: SEGV_ACCERR at 0x116c9f9e
Crashed Thread:  0

Application Specific Information:
*** Terminating app due to uncaught exception '', reason: ''

libobjc.A.dylib 0x39c62b26 objc_msgSend + 6
UIKit 0x31c74bbb -[UIGestureRecognizer _updateGestureWithEvent:buttonEvent:] + 1139
UIKit 0x3200083d ___UIGestureRecognizerUpdate_block_invoke + 49
UIKit 0x31c3c00b _UIGestureRecognizerRemoveObjectsFromArrayAndApplyBlocks + 219
UIKit 0x31c3a753 _UIGestureRecognizerUpdate + 283
UIKit 0x31c73419 -[UIWindow _sendGesturesForEvent:] + 773
UIKit 0x31c72dbf -[UIWindow sendEvent:] + 667
UIKit 0x31c4879d -[UIApplication sendEvent:] + 197
UIKit 0x31c46fa3 _UIApplicationHandleEventQueue + 7099
CoreFoundation 0x2f49c183 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 15
CoreFoundation 0x2f49b653 __CFRunLoopDoSources0 + 207
CoreFoundation 0x2f499e47 __CFRunLoopRun + 623
CoreFoundation 0x2f404c27 CFRunLoopRunSpecific + 523
CoreFoundation 0x2f404a0b CFRunLoopRunInMode + 107
GraphicsServices 0x340f8283 GSEventRunModal + 139
UIKit 0x31ca8049 UIApplicationMain + 1137
MyApp 0x0004be27 main (main.m:18)
libdyld.dylib 0x3a16fab7 start + 3

1 个答案:

答案 0 :(得分:0)

我正在寻找同样的解决方案。我发现这种情况只是孤立无援。我有一个巨大的scrollview,我在其上添加了手势识别器,如下所示:

UITapGestureRecognizer *singleFingerTap =
    [[UITapGestureRecognizer alloc] initWithTarget:self
                                            action:@selector(handleSingleTap:)];
[_backgroundFrameView addGestureRecognizer:singleFingerTap];

Hockey应用程序中的崩溃日志与@Nick Locking提供的崩溃日志相同,但它清楚地说明崩溃的地方:

  

原因:objc_msgSend()选择器名称:handleSingleTap:

仅在iOS 7.X版本上发生,我完全无法自行复制。 _backGroundFrameView具有exclusiveTouch = YES和MultipleTouch = NO。