Modify the following code to suit your needs; you may put it in your root view controller viedDidLoad method. The code keeps track of the first run of the application, of the number of launches and whether or not the your setup prompt has been shown to the user.
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
if (![defaults objectForKey:@"firstRun"]) {
// this is the first run
// store this information
[defaults setObject:[NSDate date] forKey:@"firstRun"];
[defaults setInteger:1 forKey:@"launches"];
[defaults setBool:NO forKey:@"setupPromptHasBeenShown"];
[defaults synchronize];
// now prompt the user to setup the app
// once the the prompt has been shown,
// if the user actually decides to setup the app,
// store this information again, so you will not prompt him/her again
[defaults setBool:YES forKey:@"setupPromptHasBeenShown"];
[defaults synchronize];
}
else{
// this is not the first run
NSInteger daysSinceInstall = [[NSDate date] timeIntervalSinceDate:[defaults objectForKey:@"firstRun"]] / 86400;
NSInteger launches = [defaults integerForKey:@"launches"];
[defaults setInteger:launches+1 forKey:@"launches"];
[defaults synchronize];
}