Application Launch Detection

I am creating an application in which I have to create a plist when the application is launched for the first time. Later, I am going to use plist to store user login information later. How can I detect the first application launch? I experimented with NSUserDefaults, but I think I'm doing something wrong.

+5
source share
3 answers

You can do this with NSUserDefaults. But be careful with the version number.

Follow these steps:

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]; } 

the firstStartCode selector will only be called in time for each version of the application on its very first launch.

Good?

+15
source

I like to use NSUserDefaults to store the first run readings.

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

Then you can check it out later ...

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

Taken from: Best way to check if iPhone application works for the first time

+2
source

You can use the following:

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

Source: https://habr.com/ru/post/919204/


All Articles