2010-07-05 161 views
0

我有一个非常奇怪的问题 - 我的测试人员在3GS上报告问题(应用挂起,没有崩溃),但不在3G上......这是代码,米假设问题:iPhone:代码适用于3G,但不适用于3GS

- (void)applicationDidFinishLaunching:(UIApplication *)application { 
    NSSetUncaughtExceptionHandler(&uncaughtExceptionHandler); 
    [FlurryAPI startSession:@"myflurryapisessionkey"]; 
    [FlurryAPI setSessionReportsOnCloseEnabled:NO]; 

    // set managedObjectContext on TabBarController 
    tabBarController.managedObjectContext = self.managedObjectContext; 

    [window addSubview:tabBarController.view]; 
    [window makeKeyAndVisible]; 

    // check if we have to show a favorite immediately 
    Favorite *startseiteFavorite = [self getStartSeiteFavorite]; 

    if (startseiteFavorite != nil) { 
     [FlurryAPI logEvent:@"favorite found"]; 
     [self showStartseiteFavorite:startseiteFavorite]; 
    } else { 
     [FlurryAPI logEvent:@"no favorite found"]; 
    } 

} 

- (Favorite *) getStartSeiteFavorite { 
    // loading values 
    smart_infoAppDelegate *appDelegate = (smart_infoAppDelegate *)[[UIApplication sharedApplication] delegate]; 
    managedObjectContext = [appDelegate managedObjectContext]; 
    NSFetchRequest *request = [[NSFetchRequest alloc] init]; 
    NSEntityDescription *entity = [NSEntityDescription entityForName:@"Favorite" inManagedObjectContext:managedObjectContext]; 
    [request setEntity:entity]; 

    NSPredicate * predicate; 
    predicate = [NSPredicate predicateWithFormat:@"startseite == 1"]; 
    [request setPredicate:predicate]; 

    NSError *error; 
    NSMutableArray *mutableFetchResults = [[managedObjectContext executeFetchRequest:request error:&error] mutableCopy]; 

    [request release]; 

    Favorite *tempFavorite = [mutableFetchResults count] > 0 ? [mutableFetchResults objectAtIndex:0] : nil; 
    [mutableFetchResults release]; 

    return tempFavorite; 
} 

我想选择根据按照这样的“startseiteFavorite”的存在来选择的标签标签 - 如果有一个,我选择选项卡1,否则标签0 .. 。你们中有没有人发现一个问题或原因,为什么这个工作没有问题在3G,但不是在3GS?

非常感谢,

斯特凡

回答

0

这是非常艰难搞清楚一个问题是这样,如果你还没有真正重复自己的问题?你不能在3GS上重现问题吗?你在说你是,假设问题发生在。这不是最好的方法。

你没有3GS测试吗?如果不是,我会去买一个来测试它,并直接在调试器中找到问题的底部。你不应该在没有你的应用支持的硬件的情况下发布应用(不确定你是否正在这样做,但是我认为这可能来自你的问题)。

问问你的测试人员究竟是他们是如何造成挂起发生的。

+0

当然,我不会这样运送应用程序。我很确定这是问题发生的代码,但我看不出为什么。我尝试了3G上的所有东西 - 它只是在那里工作。但两家3GS测试人员在启动期间报告了一个挂起的应用程序。现在我要问提示:3G和3GS之间的区别是什么?或者代码有什么问题? – swalkner 2010-07-06 02:28:24

+0

你不会说你是否有3GS来测试调试器。如果问题出在3GS上,那么试图确定问题出在3G上是没有意义的。我帮朋友调试了与OpenGL相关的3GS问题。花了他几个小时,只用3G就挠了挠头。连接我的3GS并运行调试器,并在一分钟内消除了bug。如果问题出在3GS上,请获得3GS。 – 2010-07-06 04:29:45

+0

好的,谢谢 - 我会看到我得到一个3GS进行调试。但是,3GS和3G上的代码行为有什么不同呢?难道不仅仅是记忆差异? – swalkner 2010-07-06 06:32:11

相关问题