流行的解决方案是在大多数地方是用[NSUserDefaults standardUserDefaults的一个关键,如果它不存在,这意味着这是应用程序启动,否则,它不是第一次
在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