目前判斷程式是否是第一次啟動可以使用NSUserDefaults的ever launched
在appdelegate.m中找到 “application:didFinishLaunchingWithOptions:”方法, 添加以下代碼:
[html] view plain copy
- 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.
在程式的其他部分用以下代碼判斷:
[html] view plain copy
- if ([[NSUserDefaults standardUserDefaults] boolForKey:@"firstLaunch"]) {
- // 這裡判斷是否第一次
- UIAlertView *alert=[[UIAlertView alloc] initWithTitle:@"第一次"
- message:@"進入App"
- delegate:self
- cancelButtonTitle:@"我知道了"
- otherButtonTitles:nil];
- [alert show];
- [alert release];
- }
第一段代碼運作key @”firstLaunch” 将被設定為 NO。