applicationWillTerminate有什么问题吗?
谁能告诉我如何分析有关异常的痕迹或更多细节?
我尝试过dwarfdump,但似乎没有更多细节。
dwarfdump -arch armv7 MyApp.app.dSYM --lookup 0x000034b3
告诉我
Line table file: 'main.m' line 14, column 18 with start address 0x00000000000034aa
是
int retVal = UIApplicationMain(argc, argv, nil, nil);
这是堆栈跟踪
-[UIApplication applicationWillTerminate:]: unrecognized selector sent to instance 0x27eed0
(null)
(
0 CoreFoundation 0x30df964f __exceptionPreprocess + 114
1 libobjc.A.dylib 0x34914c5d objc_exception_throw + 24
2 CoreFoundation 0x30dfd1bf -[NSObject(NSObject) doesNotRecognizeSelector:] + 102
3 CoreFoundation 0x30dfc649 ___forwarding___ + 508
4 CoreFoundation 0x30d73180 _CF_forwarding_prep_0 + 48
5 CommonTools 0x089e441f -[ButtonEventOpt onProcClickEvent:state:frame:viewControl:] + 1662
6 CommonTools 0x089ead37 -[CommonToolsView onClickBtnEvent:] + 366
7 CoreFoundation 0x30d69571 -[NSObject(NSObject) performSelector:withObject:withObject:] + 24
8 UIKit 0x30e77ec9 -[UIApplication sendAction:to:from:forEvent:] + 84
9 UIKit 0x30e77e69 -[UIApplication sendAction:toTarget:fromSender:forEvent:] + 32
10 UIKit 0x30e77e3b -[UIControl sendAction:to:forEvent:] + 38
11 UIKit 0x30e77b8d -[UIControl(Internal) _sendActionsForEvents:withEvent:] + 356
12 UIKit 0x30e78423 -[UIControl touchesEnded:withEvent:] + 342
13 UIKit 0x30e5d535 _UIGestureRecognizerSortAndSendDelayedTouches + 2200
14 UIKit 0x30e5cc01 _UIGestureRecognizerUpdateObserver + 696
15 CoreFoundation 0x30dd0a35 __CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION__ + 16
16 CoreFoundation 0x30dd2465 __CFRunLoopDoObservers + 412
17 CoreFoundation 0x30dd375b __CFRunLoopRun + 854
18 CoreFoundation 0x30d63ec3 CFRunLoopRunSpecific + 230
19 CoreFoundation 0x30d63dcb CFRunLoopRunInMode + 58
20 GraphicsServices 0x306e241f GSEventRunModal + 114
21 GraphicsServices 0x306e24cb GSEventRun + 62
22 UIKit 0x30e89d69 -[UIApplication _run] + 404
23 UIKit 0x30e87807 UIApplicationMain + 670
24 MyApp 0x000034b3 MyApp + 9395
25 MyApp 0x0000346c MyApp + 9324
)
答案 0 :(得分:0)
ApplicationWillTerminate中没有错误,当您收到未解决的错误时,应用程序通常会在此处结束。
你应该在输出日志中得到一些细节,你的主要错误似乎是你调用了一个你所调用的类不支持的选择器:
unrecognized selector sent to instance 0x27eed0
在堆栈中你可以看到有几个调用,但只有两个来自你自己的类(我猜,因为我不知道这些):
5 CommonTools 0x089e441f -[ButtonEventOpt onProcClickEvent:state:frame:viewControl:] + 1662
6 CommonTools 0x089ead37 -[CommonToolsView onClickBtnEvent:] + 366
检查输出日志,如果有更多关于方法调用的详细信息,则会抛出错误。
答案 1 :(得分:0)
应用程序何时崩溃?看起来你正在调用一个不知道该方法的对象的方法。
请发布相关的手势识别器代码。
答案 2 :(得分:0)
我遇到了同样的问题,我找到了! CommonTools是91桌面的图书馆,是一个越狱应用程序。当用户安装此应用程序时,他们可以直接使用它终止应用程序。我的应用程序在os 4.x上获得崩溃报告,当他们使用此应用程序退出应用程序时。因此,您可以检查您的应用是否有同样的问题。 祝你好运!