怎樣判斷ios app 第一次啟動

來源:互聯網
上載者:User

我已經看到這個問題很多次了。今天抽空研究了一下 
首次啟動並執行應用程式加入一些help 或者 宣傳動畫 現在變的很重要了。 
一個有用的例子是發送一個分析執行個體。這可能是一個很好的方法來確定有多少人下載實用應用程式。有人會說:“但是,嘿,蘋果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]; 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.