I would do that in your main view controller in method viewWillAppear
. You can use NSUserDefaults
. Here's an example:
Swift:
func isAppAlreadyLaunchedOnce() {
let defaults = NSUserDefaults.standardUserDefaults()
if let isAppAlreadyLaunchedOnce = defaults.stringForKey("isAppAlreadyLaunchedOnce"){
println("App already launched")
return true
} else {
defaults.setBool(true, forKey: "isAppAlreadyLaunchedOnce")
println("App launched first time")
//Show your tutorial.
return false
}
}
Objective-C:
- (void)isAppAlreadyLaunchedOnce {
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
NSString *isAppAlreadyLaunchedOnce = [defaults stringForKey:@"isAppAlreadyLaunchedOnce"];
if (isAppAlreadyLaunchedOnce != nil) {
NSLog(@"App already launched");
return true;
} else {
NSLog(@"App launched first time");
[defaults setBool:true forKey:@"isAppAlreadyLaunchedOnce"];
//Show your tutorial.
return false;
}
}
And then run this method in your viewWillAppear
:
Swift:
func viewWillAppear(animated: Bool) {
isAppAlreadyLaunchedOnce()
}
Objective-C:
- (void)viewWillAppear:(BOOL)animated {
[self isAppAlreadyLaunchedOnce];
}
NSUserDefaults
will be cleared when user will uninstall app.