iOS dev
iOS dev

Reputation: 2284

How should I count the number of launches of an application in iPhone

Upvotes: 3

Views: 2886

Answers (3)

Deepesh
Deepesh

Reputation: 8053

use NSUserDefaults in applicationDidBecomeActive:.

NSUserDefaults * userDefaults = [NSUserDefaults standardUserDefaults];
        NSInteger appLaunchAmounts = [userDefaults integerForKey:@"LaunchAmounts"];
        if (appLaunchAmounts == 5)
        {
           //Use AlertView


        }
        [userDefaults setInteger:appLaunchAmounts+1 forKey:@"LaunchAmounts"];

Upvotes: 9

Matic Oblak
Matic Oblak

Reputation: 16774

You can use method in your app delegate:

 - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions

to check how many times it was launched. Then you can simply use standard user defaults to read/write the value:

NSInteger i = [[NSUserDefaults standardUserDefaults] integerForKey:@"numOfLCalls"];
[[NSUserDefaults standardUserDefaults] setInteger:i+1 forKey:@"numOfLCalls"];

After that check if "i" is greater then 5 and send a message to view controller so it will put alert message after its view loads or simply call the user defaults again where you want to display the alert and check value.

Upvotes: 6

Rok Jarc
Rok Jarc

Reputation: 18875

You could count the number of launches using NSUserDefaults.

Some more info: Saving an int to nsuserdefaults

You would implement your functionality in application delegate. Most probably in - (void)applicationDidBecomeActive:(UIApplication *)application method.

First you check if your launchesSoFar value is store. If not (if you get nil) you initialize it to 1 and don't forget to synchronize. If it exists already you increment it and again - sznchronize. If it's >=5 then do what you wan't to do.

Upvotes: 1

Related Questions