2010-07-05 138 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

相關問題