I\'m trying to do show an alert the first time the app is launched. I\'d also like to show this alert if they go into a settings page later on and want to see it again. I
Just think it backwards, instead of expecting a YES, set a variable when the app is actually launched, and remove it when the user says so in the settings.
At launch:
if (![[NSUserDefaults standardUserDefaults] boolForKey:@"hasBeenLaunched"]) {
// show your only-one-time view
[[NSUserDefaults standardUserDefaults] setBool:YES forKey:@"hasBeenLaunched"];
[[NSUserDefaults standardUserDefaults] synchronize];
}
And when the user wants to see it again, just remove the key:
[[NSUserDefaults standardUserDefaults] removeObjectForKey:@"hasBeenLaunched"];
When accessing a key that does not exists, NSUserDefaults will return nil.