缺乏理解崩溃报告

时间:2012-10-15 03:19:54

标签: ios objective-c ios6

我有这个崩溃报告。

Incident Identifier: CA9E350A-C842-4349-AAD8-E9E62E93BDD1
CrashReporter Key:   360bc129d2f79a48e291eb5ca38b24e822ed5b6b
Hardware Model:      xxx
Process:         OrientalDailyiOS [1502]
Path:            /var/mobile/Applications/39480A57-68FF-4C46-8445-340EFE204119/OrientalDailyiOS.app/OrientalDailyiOS
Identifier:      OrientalDailyiOS
Version:         ??? (???)
Code Type:       ARM (Native)
Parent Process:  launchd [1]

Date/Time:       2012-10-14 15:49:10.884 -0700
OS Version:      iOS 6.0 (10A403)
Report Version:  104

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

Last Exception Backtrace:
0   CoreFoundation                  0x37a0a29e __exceptionPreprocess + 158
1   libobjc.A.dylib                 0x34e3197a objc_exception_throw + 26
2   CoreFoundation                  0x37955b70 -[__NSArrayM objectAtIndex:] + 160
3   OrientalDailyiOS                0x00064fdc -[Main_NewsDetail viewDidLoad] (Main_NewsDetail.m:43)
4   UIKit                           0x386cb590 -[UIViewController loadViewIfRequired] + 360
5   UIKit                           0x38757336 -[UIViewController shouldAutorotate] + 22
6   UIKit                           0x38798cd4 -[UIWindowController transition:fromViewController:toViewController:target:didEndSelector:] + 1540
7   UIKit                           0x38797fca -[UIViewController presentViewController:withTransition:completion:] + 3390
8   UIKit                           0x388ba252 -[UIViewController presentModalViewController:animated:] + 26
9   Foundation                      0x34364a6a __NSFireDelayedPerform + 446
10  CoreFoundation                  0x379df5da __CFRUNLOOP_IS_CALLING_OUT_TO_A_TIMER_CALLBACK_FUNCTION__ + 10
11  CoreFoundation                  0x379df28c __CFRunLoopDoTimer + 268
12  CoreFoundation                  0x379ddefc __CFRunLoopRun + 1228
13  CoreFoundation                  0x37950eb8 0x37948000 + 36536
14  CoreFoundation                  0x37950d44 CFRunLoopRunInMode + 100
15  GraphicsServices                0x373e32e6 GSEventRunModal + 70
16  UIKit                           0x387002fc 0x386a9000 + 357116
17  OrientalDailyiOS                0x0005fac2 main (main.m:16)
18  OrientalDailyiOS                0x0005fa84 0x5e000 + 6788

然而,我不知道错误在哪里,我玩我的应用程序,但没有显示错误。

我也尝试过使用iPad的iOS 6,没问题。

苹果的反馈是什么

We found that your app crashed on iPad running iOS 6, which is not in compliance with the App Store Review Guidelines.

Your app crashed on both Wi-Fi and cellular networks when we:

1. Launch the app.
2. Tap any item on main page.
3. App crashes.

更新

Main_NewDetails

- (void)viewDidLoad
{
[super viewDidLoad];
[slider setHidden:YES];
DatabaseAction *getnews = [[[DatabaseAction alloc] init] autorelease];
self.singlenews = [getnews retrieveSingleNews:newsid];
self.defaultsize = [getnews retrieveFont];
font = [self.defaultsize objectAtIndex:0];
currentsize = font.Font_Size;
News *new = [self.singlenews objectAtIndex:0];
if(self.catsid != 10)
    self.header.text = new.News_Cat_Name;
else
    self.header.text = @"評論";
self.title.text = new.News_Title;
authortext = new.News_Author;
self.content.text = [NSString stringWithFormat: @"%@%@", new.News_IntroText,  new.News_FullText];
self.introtext = new.News_IntroText;
self.content.font = [UIFont systemFontOfSize:currentsize];
self.date.text = new.News_ArticalDate;
self.commentno.text = @"留言: 0";
imagepath = new.News_ImagePath;
onetime = YES;

if([Constant_Config NetworkStatus]){
    if(![imagepath isEqualToString:@"no picture"]){
        NSOperationQueue *queue = [NSOperationQueue new];
        NSInvocationOperation *operation = [[NSInvocationOperation alloc]
                                            initWithTarget:self
                                            selector:@selector(loadImage)
                                            object:nil];
        [queue addOperation:operation];
        [operation release];
    }

    NetworkHandler *networkHandler=[[NetworkHandler alloc] init];
    GetTotalCommentsRequest *gettotalcomments= [[GetTotalCommentsRequest alloc] init:newsid];

    [networkHandler setDelegate:self];
    [networkHandler request:gettotalcomments];
    [gettotalcomments release];
    [networkHandler release];

    [self.scrollView addSubview:[self addbanner]];
    [self.scrollView addSubview:[self addbanner]];
}

[self setlabelXY];

AppDelegate *appDelegate = [[UIApplication sharedApplication] delegate];
[appDelegate openSessionWithAllowLoginUI:NO];
}

1 个答案:

答案 0 :(得分:1)

您正在查看的是堆栈跟踪,即程序遍历代码的路径。每一行都是一个函数,从主运行循环(18)开始,到崩溃结束(0)。

最有用的部分是您在第3帧的应用OrientalDailyiOS中创建的功能。

您的应用在试图访问Main_NewsDetail viewDidLoad]方法(第3帧)内的NSArray(第2帧)中的对象时崩溃。

修改

正如我所说,你的应用程序在尝试访问NSArray中的对象时崩溃了。仔细查看您的应用程序,特别是viewDidLoad方法中使用上面objectAtIndex:崩溃的方法的两行。

font = [self.defaultsize objectAtIndex:0];

News *new = [self.singlenews objectAtIndex:0];

您如何填充self.singlenews?它可能没有任何对象是什么情况?