Создание приложения оповещения после определенного количества нажатий

#iphone #objective-c #uialertview #alert

#iPhone #objective-c #uialertview #предупреждение

Вопрос:

Я работаю над этой идеей, в которой я хочу, чтобы UIAlert появлялся после определенного количества запусков приложения (скажем, после 20 запусков).

И там будет 2 кнопки. Тот, который сбросит счетчик, который заставит предупреждение появиться еще после 20 запусков. И одна кнопка, которая заставит его исчезнуть и больше никогда не появляться.

Как бы я это сделал?

Ответ №1:

Взгляните на NSUserDefaults, чтобы сохранить количество запусков приложения.

 NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
uint count = [defaults integerForKey:@"num_launches"];

if (count > 20) {
    // Show alert
} else {
   count   ;
   [defaults setInteger:count forKey:@"num_launches"];
}
  

Комментарии:

1. Вы не определяете, что пользователь отменяет оповещение навсегда

2. Нет — я не делал за него его работу, я показал ему, как использовать NSUserDefaults 🙂 (* предполагая, что inFever — это он)

Ответ №2:

В вашем applicationDidFinishLaunching:withOptions: методе AppDelegate проверьте NSUserDefaults :

 int counter = [[NSUserDefaults standardUserDefaults] integerForKey:@"LaunchesCounter"];
if (counter == -1)
{ /* Cancel chekcing, cause earlier user choose hide alert */ }
else if (counter >= 20)
{ /* Show alert */ }
else // Increment counter
{
      counter;
    [[NSUserDefaults standardUserDefaults] setInteger:counter forKey:@"LaunchesCounter"];
}
  

Если пользователь выберет продолжить, счетчик перезаписи предупреждения будет отображаться с 0:

 [[NSUserDefaults standardUserDefaults] setInteger:0 forKey:@"LaunchesCounter"];
  

Если пользователь решит скрыть оповещения, установите счетчик на -1:

 [[NSUserDefaults standardUserDefaults] setInteger:-1 forKey:@"LaunchesCounter"];
  

Комментарии:

1. Не могли бы вы, пожалуйста, взглянуть на мой код и посмотреть, не сделал ли я что-нибудь не так?

Ответ №3:

Настройте счетчик. Увеличивайте его при каждом запуске приложения и сохраняйте в NSUserDefaults . Проверяйте его каждый раз, чтобы убедиться, что оно меньше 20. Если оно равно 20, сбросьте и сохраните снова. Это помогает увеличить количество запусков

 NSUserDefaults *prefs = [NSUserDefaults standardUserDefaults];
NSInteger launchCount = [prefs integerForKey:@"launchCount"];
if (launchCount > limit) {
     // Show alert
} else {
 launchCount   ;
 [prefs setInteger:count forKey:@"launchCount"];
}

launchCount  ;
NSLog(@"Application has been launched %d times", launchCount);
[prefs setInteger:launchCount  forKey:@"launchCount"];