У меня есть этот метод applicationDidFinishLaunching
делегата моего приложения:
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
if([defaults objectForKey:@"AcceptTC"] == nil){
NSDictionary *appDefaults = [NSDictionary dictionaryWithObject:@"NO" forKey:@"AcceptTC"];
[defaults registerDefaults:appDefaults];
}
и у меня это есть в моем методе RootViewController viewDidLoad
:
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
if(![defaults boolForKey:@"AcceptTC"]){
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Notice" message:@"By using this application you agree to be bound by the Terms and Conditions as stated within this application." delegate:self cancelButtonTitle:@"No Deal" otherButtonTitles:@"I Understand",nil];
[alert show];
[alert release];
}
и мой делегат оповещения делает это:
if(buttonIndex == 0){
exit(0);
}
else{
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
[defaults setObject:@"YES" forKey:@"AcceptTC"];
}
Однако, когда я нажимаю «Я понимаю» (номер кнопки 1), а затем перезапускаю приложение, я все еще вижу окно предупреждения! Хотя я определенно установил значение ДА.
Я не знаю, как это изменить. :( Я хочу, чтобы он показывал только первый раз, когда пользователь запускает приложение - я не хочу показывать его каждый раз, когда они хотят его использовать.
Спасибо