iPhone:代码适用于3G,但不适用于3GS

时间:2010-07-05 18:09:34

标签: iphone 3g

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

- (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中没有问题?

非常感谢,

的Stefan

1 个答案:

答案 0 :(得分:0)

如果你自己没有真正重复这个问题,很难找出这样的问题吗?您是否无法在3GS上复制问题?你说你假设问题出现在哪里。这不是最好的方法。

你没有3GS进行测试吗?如果没有,我会去买一个来测试它并直接在调试器中找到问题的根源。如果没有你的应用说它支持的硬件,你就不应该发布应用程序(不确定你是否这样做,但我认为你可以从你的问题的声音)。

要求您的测试人员完全他们是如何导致挂起的。