怎样判断ios app 第一次启动
我已經看到這個問題很多次了。今天抽空研究了一下?
首次運行的應用程序加入一些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];?
}?
總結
以上是生活随笔為你收集整理的怎样判断ios app 第一次启动的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: C派生matlab读取excel脚本
- 下一篇: 信管 - 挣值 - 资料收集