在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。
已經測試過,上述方法有效,而且比我想的要簡單的多,故貼之
摘自 安迪·潘 的專欄