检测应用程序的第一次运行

我正在创build一个应用程序,在应用程序第一次启动时,我必须创build一个plist。 我稍后将使用plist来存储用户稍后input的细节。 如何检测应用程序的首次启动? 我正在尝试NSUserDefaults,但我认为我做错了什么。

你可以用NSUserDefaults来做到这一点。 但要注意版本号。

请执行下列操作:

NSString *bundleVersion = [[NSBundle mainBundle] objectForInfoDictionaryKey:(NSString *)kCFBundleVersionKey]; NSString *appFirstStartOfVersionKey = [NSString stringWithFormat:@"first_start_%@", bundleVersion]; NSNumber *alreadyStartedOnVersion = [[NSUserDefaults standardUserDefaults] objectForKey:appFirstStartOfVersionKey]; if(!alreadyStartedOnVersion || [alreadyStartedOnVersion boolValue] == NO) { [self firstStartCode]; [[NSUserDefaults standardUserDefaults] setObject:[NSNumber numberWithBool:YES] forKey:appFirstStartOfVersionKey]; } 

仅在第一次运行时,才会按时为每个应用程序版本调用select器firstStartCode。

好的?

我喜欢使用NSUserDefaults来存储第一次运行的指示。

 NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults]; if (![defaults objectForKey:@"firstRun"]) [defaults setObject:[NSDate date] forKey:@"firstRun"]; [[NSUserDefaults standardUserDefaults] synchronize]; 

稍后您可以testing它…

 NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults]; if([defaults objectForKey:@"firstRun"]) { // do something or not... } 

采取: 最好的方式来检查一个iPhone应用程序是否第一次运行

您可以使用以下内容:

 -(void) firstLaunch { //Code goes here } -(void) firstLaunchCheck { if(![[NSUserDefaults standardUserDefaults] boolForKey:@"didLaunchFirstTime"]) { [[NSUserDefaults standardUserDefaults] setBool:TRUE forKey:@"didLaunchFirstTime"]; [self firstLaunch]; } }