Search code examples
iphone3g

iPhone: Code works in 3G but not 3GS


I've got a REALLY strange problem - my testers report problems (app is hanging, not crashing) on 3GS, but NOT on 3G... this is the code where I'm assuming the problem:

- (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;
}

I'd like to select a tab according to select the tab according to the existence of such a 'startseiteFavorite' - if there's one, I select tab 1, otherwise tab 0... does anyone of you find a problem or a reason why this works without problems in 3G but not in 3GS?

Thanks a lot,

Stefan


Solution

  • It's pretty tough to figure out a problem like this if you have not actually duplicated the problem yourself? Are you not able to duplicate the problem on the 3GS? You're saying that you are assuming where the problem occurs. That's not the best approach.

    Do you not have a 3GS to test on? If not, I would go buy one to test it and get to the bottom of the issue directly in the debugger. You should never ship an app without having the hardware your app says it supports (not sure if you're doing that, but I'm thinking it's possible from the sound of your question).

    Ask your testers exactly how they are causing the hang to occur.