帮助解读苹果崩溃报告
我无法重现 Apple 崩溃报告中出现的错误。我有 4 个使用相同代码库的应用程序已经获得批准,但现在有 2 个应用程序被拒绝,并出现了我从未遇到过的相同错误。
以下是我从苹果评论中得到的崩溃报告。 下面又是我的应用程序委托中指示为错误的行。 我现在正在查看围绕错误的系统调用,以防它们为我提供一些线索。
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
我无法重现此内容。任何见解或建议表示赞赏。
I can't reproduce the error I'm getting in the Apple crash reports. I have 4 apps using the same codebase already approved and now I have had 2 rejected with the same errors that I have never come across.
Below is the crash report that I got back from my Apple Review.
Below that again is the line indicated as the error in my App Delegate.
I'm looking at the system calls round the error at the moment in case they shed some light for me.
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
Code in the AppDelegate:
NSArray *viewControllers = favNavController.viewControllers;
FavouritesViewController *favouritesView = (FavouritesViewController*)[viewControllers objectAtIndex:0]; <-- Line indicated in crash report
I cannot reproduce this. Any insight or advice appreciated.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
我看起来像“favNavController.viewControllers”不是一个 NSArray - 因此当你尝试执行“objectAtIndex”时,你会得到“无法识别的选择器”。
您是否注意到该应用程序似乎是为了响应 URL 而启动的? (用 URL 打开)?
我不知道这是否会让您的代码通过不同的初始化路径 - 目前该路径尚未完成。
I looks like "favNavController.viewControllers" is not an NSArray - therefore you are getting "Unrecognized Selector" when trying to do a "objectAtIndex".
Did you note that it looks like the app was being launched in response to a URL? (OpenWithURL)?
I don't know if this takes your code through a different initialization path - which wasn't complete at this time.