我有一個令人沮喪的問題,最新版本的Flurry(Flurry iPhone SDK v2.5)。當我啓動我的應用程序時,快速退出,然後重新啓動應用程序,應用程序暫時加載,閃爍黑屏,然後停留在黑屏上。黑屏停留在那裏,直到我按下主頁按鈕,此時我可以正常重啓應用程序。我看着這個進一步,並且事實證明,應用狀態代表越來越叫以錯誤的順序:應用程序掛起重啓最新的Flurry SDK和ios4
- applicationDidBecomeActive //應用程序完成加載第一次
- applicationWillResignActive //應用開始辭職
- applicationWillEnterForeground //在這一點上,我也很快重新啓動應用程序,這就是所謂的
- applicationDidEnterBackground //當該委託被調用時,屏幕變黑
- 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,但是這樣的事情會導致我的應用被拒絕。
今天仍然有這個問題與Flurry最新的SDK – amykaroline 2012-07-10 21:43:13
可以確認API的最新更新解決問題! – hinderberg 2010-07-19 07:51:04