2017-03-09 69 views
0

我的应用程序崩溃与NSInternalInconsistencyException这样IOS异常分析NSInternalInconsistencyException

Exception reason:NSInternalInconsistencyException 
     Exception name:Can't cancel on a touch that isn't already active! 
     Exception stack:(
     0 CoreFoundation      0x0000000191a4d1d0 <redacted> + 148 
    1 libobjc.A.dylib      0x000000019048455c objc_exception_throw + 56 
    2 CoreFoundation      0x0000000191a4d08c <redacted> + 0 
    3 Foundation       0x000000019250502c <redacted> + 112 
    4 UIKit        0x0000000197fd1960 <redacted> + 404 
    5 UIKit        0x0000000197fcf970 <redacted> + 1648 
    6 libdispatch.dylib     0x00000001908d61fc <redacted> + 24 
    7 libdispatch.dylib     0x00000001908d61bc <redacted> + 16 
    8 libdispatch.dylib     0x00000001908e43dc <redacted> + 928 
    9 libdispatch.dylib     0x00000001908d99a4 <redacted> + 652 
    10 libdispatch.dylib     0x00000001908e634c <redacted> + 572 
    11 libdispatch.dylib     0x00000001908e60ac <redacted> + 124 
    12 libsystem_pthread.dylib    0x0000000190adf2a0 _pthread_wqthread + 1288 
    13 libsystem_pthread.dylib    0x0000000190aded8c start_wqthread + 4 
) 

我如何分析日志?像这些数字标签是什么意思,“+ 148”“+ 56”...?如何检测调用此异常的代码。

+1

我会从*人类可读的*句子开始。 – vadian

回答

0

这是从应用程序的发布版本崩溃,还是你在Xcode?如果在Xcode中请提供导致崩溃的代码?

看你的报告,该行

不能上的触摸,是不是已经主动取消!

看起来很有说服力。我会通过你的代码来看看你与UITouch对象或者UIGestureRecognizer交互的任何地方。我的猜测是,你正在手动调用某个地方取消你不应该进行的交互,并且在系统已经取消了触摸之后有时会发生竞争状况(或者反之亦然)。