1.在didFinishLaunchingWithOptions方法中加入如下代碼: if(![[NSUserDefaults standardUserDefaults] boolForKey:@firstStart]){ [[NSUserDefaults standardUserDefaults] setBool:YES forKey:@firstStart]; NSLog(@第一次啟動); }else{ NSLog(@不是第一次啟動); } 2. 一個有用的例子是發送一個分析實例。這可能是一個很好的方法來確定有多少人下載實用應用程序。有人會說:“但是,嘿,蘋果AppStore已經告訴我,應用程序的下載量了”。 流行的解決方案是在大多數地方是用[NSUserDefaults standardUserDefaults的一個關鍵,如果它不存在,這意味著這是應用程序啟動,否則,它不是第一次。然後,它說設置成後者在該方法的關鍵:“applicationWillTerminate:(UIApplication*)application”。這一解決方案非常好,直到我們得到的iOS 4.0。在iOS 4.0 +這種方法很少被稱為(只適用於內存問題)在蘋果的UIApplicationDelegate文檔中所述。... 你可以搜索的關鍵,如果它未設置運行 first-time-code,並設置它,但在app的其余部分你將無法知道它是不是第一次運行(除非你使用一個全局變量) 因此,我建議我的解決方案:... 在appdelegate.m中找到 “application:didFinishLaunchingWithOptions:”方法, 添加以下代碼: if (![[NSUserDefaults standardUserDefaults] boolForKey:@everLaunched]) { [[NSUserDefaults standardUserDefaults] setBool:YES forKey:@everLaunched]; [[NSUserDefaults standardUserDefaults] setBool:YES forKey:@firstLaunch]; } else{ [[NSUserDefaults standardUserDefaults] setBool:NO forKey:@firstLaunch]; } 總的解決辦法是 2 個key: @”everLaunched”判斷用戶以前是否登錄, @”firstLaunch” 用來開發者在程序的其他部分判斷. 在第一次啟動的時候 key @”everLaunched” 不會被賦址的, 並且設置為YES. @”firstLaunch”被設置為 YES. 在程序的其他部分用以下代碼判斷: if ([[NSUserDefaults standardUserDefaults] boolForKey:@firstLaunch]) { // 這裡判斷是否第一次 UIAlertView *alert=[[UIAlertView alloc] initWithTitle:@第一次 message:@進入App delegate:self cancelButtonTitle:@我知道了 otherButtonTitles:nil]; [alert show]; [alert release]; } 第一段代碼運行key @”firstLaunch” 將被設置為 NO。