2010-11-01 123 views
2

我无法重现我在苹果崩溃报告中收到的错误。我有4个应用程序使用相同的代码库已经批准,现在我有2个拒绝与我从来没有遇到过相同的错误。帮助解释苹果崩溃报告

下面是我从Apple Review回来的崩溃报告。 下面再次是我的应用程序委托中指示为错误的行。 我正在查看系统调用中的错误,以防他们为我提供一些灯光。

Incident Identifier: XXXXXX 
CrashReporter Key: XXXXXX 
Hardware Model:  iPhone3,1 
Process:   XXXX [120] 
Path:   XXXX 
Identifier:  XXXX 
Version:   ??? (???) 
Code Type:  ARM (Native) 
Parent Process: launchd [1] 

Date/Time:  XXXX 
OS Version:  iPhone OS 4.1 (8B117) 
Report Version: XXXX 

Exception Type: EXC_CRASH (SIGABRT) 
Exception Codes: 0x00000000, 0x00000000 
Crashed Thread: 0 

Thread 0 Crashed: 
0 libSystem.B.dylib    0x00078ac8 __kill + 8 
1 libSystem.B.dylib    0x00078ab8 kill + 4 
2 libSystem.B.dylib    0x00078aaa raise + 10 
3 libSystem.B.dylib    0x0008d03a abort + 50 
4 libstdc++.6.dylib    0x00044a20 __gnu_cxx::__verbose_terminate_handler() + 376 
5 libobjc.A.dylib     0x00005958 _objc_terminate + 104 
6 libstdc++.6.dylib    0x00042df2 __cxxabiv1::__terminate(void (*)()) + 46 
7 libstdc++.6.dylib    0x00042e46 std::terminate() + 10 
8 libstdc++.6.dylib    0x00042f16 __cxa_throw + 78 
9 libobjc.A.dylib     0x00004838 objc_exception_throw + 64 
10 CoreFoundation     0x000a167c -[NSObject(NSObject) doesNotRecognizeSelector:] + 96 
11 CoreFoundation     0x000491d2 ___forwarding___ + 502 
12 CoreFoundation     0x00048f88 _CF_forwarding_prep_0 + 40 
13 XXX       0x00002a02 -[XXX application:didFinishLaunchingWithOptions:] (XXXAppDelegate.m:94) 
14 UIKit       0x0000e47a -[UIApplication _callInitializationDelegatesForURL:payload:suspended:] + 766 
15 UIKit       0x000049e0 -[UIApplication _runWithURL:payload:launchOrientation:statusBarStyle:statusBarHidden:] + 200 
16 UIKit       0x0005dfd6 -[UIApplication handleEvent:withNewEvent:] + 1390 
17 UIKit       0x0005d8fa -[UIApplication sendEvent:] + 38 
18 UIKit       0x0005d330 _UIApplicationHandleEvent + 5104 
19 GraphicsServices    0x00005044 PurpleEventCallback + 660 
20 CoreFoundation     0x00034cdc __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE1_PERFORM_FUNCTION__ + 20 
21 CoreFoundation     0x00034ca0 __CFRunLoopDoSource1 + 160 
22 CoreFoundation     0x00027566 __CFRunLoopRun + 514 
23 CoreFoundation     0x00027270 CFRunLoopRunSpecific + 224 
24 CoreFoundation     0x00027178 CFRunLoopRunInMode + 52 
25 UIKit       0x000040fc -[UIApplication _run] + 364 
26 UIKit       0x00002128 UIApplicationMain + 664 
27 XXX       0x00002154 main (main.m:14) 
28 XXX       0x00002124 start + 32 

代码在AppDelegate中:

NSArray *viewControllers = favNavController.viewControllers; 
FavouritesViewController *favouritesView = (FavouritesViewController*)[viewControllers objectAtIndex:0]; <-- Line indicated in crash report 

我不能重现此。任何见解或建议表示赞赏。

回答

1

我看起来像“favNavController.viewControllers”不是一个NSArray - 因此,当您尝试执行“objectAtIndex”时,您会收到“无法识别的选择器”。

您是否注意到它看起来应用程序正在启动以响应URL? (OpenWithURL)?

我不知道这是否将您的代码通过不同的初始化路径 - 目前尚未完成。

+0

嗨,谢谢你的回复。 OpenWithUrl并不是我熟悉的东西,现在看来,老实说,它不是我的设计中的一部分,因为我的应用程序是以响应URL的形式启动的。我的理解是,这就像使用经纬度作为参数启动Google地图应用程序或使用tel:555-709-7654类型事件拨打电话号码一样? – androider 2010-11-01 15:27:45

+0

好吧,我一直试图收集关于在崩溃报告中引用URL的系统调用的一些信息,但我没有学到太多东西。调用callInitializationDelegatesForURL和_runWithURL:有效载荷:launchOrientation:statusBarStyle:statusBarHidden:启动应用程序或其他方式的不同方式?对不起,但我正在努力...( – androider 2010-11-01 16:48:41

+0

)我故意调用一个无法识别的选择器异常,在行被指责的,“favNavController.viewControllers”。然后转载错误。哦,哦,为什么我没有所以现在我必须明白为什么viewControllers数组造成了麻烦,它都是通过nib文件设置的,所以我认为它会被照顾好。 – androider 2010-11-01 17:10:11