2010-07-03 107 views
7

我有一個令人沮喪的問題,最新版本的Flurry(Flurry iPhone SDK v2.5)。當我啓動我的應用程序時,快速退出,然後重新啓動應用程序,應用程序暫時加載,閃爍黑屏,然後停留在黑屏上。黑屏停留在那裏,直到我按下主頁按鈕,此時我可以正常重啓應用程序。我看着這個進一步,並且事實證明,應用狀態代表越來越叫以錯誤的順序:應用程序掛起重啓最新的Flurry SDK和ios4

  1. applicationDidBecomeActive //應用程序完成加載第一次
  2. applicationWillResignActive //應用開始辭職
  3. applicationWillEnterForeground //在這一點上,我也很快重新啓動應用程序,這就是所謂的
  4. applicationDidEnterBackground //當該委託被調用時,屏幕變黑
  5. applicationDidEnterBackground //調用此方法時,我打的回家在屏幕掛了一段時間之後再次按下按鈕。

所以我認爲這意味着一旦我點擊主頁按鈕,一些進程需要更長的時間才能結束,如果我嘗試再次啓動應用程序的速度太快,會有一些非常奇怪的行爲。如果我等待幾秒鐘重新啓動應用程序,則該應用程序正常運行。

爲了演示這個問題,我創建了我能想到的最簡單的應用程序,我將在這裏發佈。我用XCode 3.2.3構建了這個,直接在我的iphone設備(iphone 4)上創建。 這很重要,因爲我無法在模擬器上重現此問題。您可以通過創建一個名爲simpleApp的新的基於導航的項目來重現此應用程序,並使用您自己的Flurry API密鑰刪除此代碼。 這裏是simpleAppAppDelegate.m:

#import "simpleAppAppDelegate.h" 
#import "RootViewController.h" 
#import "FlurryAPI.h" 


@implementation simpleAppAppDelegate 

@synthesize window; 
@synthesize navigationController; 


- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {  
    [FlurryAPI startSession:@"<your api key here>"];  

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

    return YES; 
} 


- (void)applicationWillResignActive:(UIApplication *)application { 
    printf("applicationWillResignActive\n"); 
} 


- (void)applicationDidEnterBackground:(UIApplication *)application { 
    printf("applicationDidEnterBackground\n"); 
} 


- (void)applicationWillEnterForeground:(UIApplication *)application { 
    printf("applicationWillEnterForeground\n"); 
} 


- (void)applicationDidBecomeActive:(UIApplication *)application { 
    printf("applicationDidBecomeActive\n"); 
} 


- (void)applicationWillTerminate:(UIApplication *)application { 
    printf("applicationWillTerminate\n"); 
} 

- (void)applicationDidReceiveMemoryWarning:(UIApplication *)application { 
} 

- (void)dealloc { 
    [navigationController release]; 
    [window release]; 
    [super dealloc]; 
} 

@end 

這裏是simpleAppAppDelegate.h:

#import <UIKit/UIKit.h> 

@interface simpleAppAppDelegate : NSObject <UIApplicationDelegate> { 

    UIWindow *window; 
    UINavigationController *navigationController; 
} 

@property (nonatomic, retain) IBOutlet UIWindow *window; 
@property (nonatomic, retain) IBOutlet UINavigationController *navigationController; 

@end 

所以無論如何,因爲這麼多的應用在使用亂舞我覺得我必須失去了一些非常基本的。我腦子裏真是令人難以置信的是,我沒有發現有人抱怨這個特殊問題。 此外,這與以前版本中的應用程序似乎立即啓動,黑色幾秒鐘然後正常恢復的問題不同。通過調用[FlurryAPI setSessionReportsOnCloseEnabled:false]解決了這個問題;在我設置會話之後,但在這種情況下不起作用。

無論如何,有沒有其他人有這個問題?我真的希望這只是我的一個愚蠢的錯誤。我真的很興奮使用Flurry,但是這樣的事情會導致我的應用被拒絕。

+0

今天仍然有這個問題與Flurry最新的SDK – amykaroline 2012-07-10 21:43:13

+0

可以確認API的最新更新解決問題! – hinderberg 2010-07-19 07:51:04

回答

2

我不知道我是否應該回答我的問題在註釋到原來的職位,或發佈一個答案,但在這裏無論如何是答案:

亂舞被打破,它被證實由其他人在這個蘋果開發論壇主題(你需要一個帳戶登錄):https://devforums.apple.com/thread/56339?tstart=0

這裏希望Flurry很快得到一個新版本,我真的很想把它們的產品納入我的應用程序。

1

我們剛發佈了一個新版本的iPhone Flurry SDK,可以解決這個問題。請下載這個新的SDK,並讓我們知道它是否解決了您遇到的問題。

- 真誠,

-Sheila

亂舞支持

+0

2.7加載時崩潰以及應用程序加載。任何更新到2.7的修復? – stitz 2010-12-08 03:34:32

+0

不,它不會......當我快速切換回應用程序時,它會掛起幾秒鐘。 – 2011-02-16 18:38:44

6

我寫亂舞這件事,他們回到我真的很快,他們會考慮這一點。大約一個星期後,他們回信並說他們在現在可用的v2.6中修復它。我似乎無法再現問題了。

不是說我很棒或什麼都可以,但是我確實善於修正這個錯誤。

2

我把這個從亂七八糟。版本2.7也有問題,但是:

[FlurryAPI setSessionReportsOnCloseEnabled:(BOOL)sendSessionReportsOnClose]; 

此選項在默認情況下處於啓用狀態。啓用後,Flurry將嘗試在應用程序退出時發送會話數據,以及在應用程序啓動時正常進行。這將提高應用程序分析更新的速度,但會延長由於網絡延遲導致的應用程序終止過程。在某些情況下,網絡延遲會導致應用程序崩潰。

相關問題