Инициировать UIalert View ежемесячно - PullRequest
0 голосов
/ 01 января 2012

Я хотел бы делать оповещения каждый месяц (например, 1-е число каждого месяца), чтобы напомнить пользователям о необходимости оценивать мое приложение. Я искал способы открыть окно предупреждений при первом запуске приложения, но ответа на мою проблему не найдено. Может ли кто-нибудь помочь мне со следующими кодами.

Большое спасибо.

- (void)viewDidLoad{
    [super viewDidLoad];

    NSUserDefaults *prefs = [NSUserDefaults standardUserDefaults];
    NSString *alreadyRun = @"already-run";
    if ([prefs boolForKey:alreadyRun])
        return;
    [prefs setBool:YES forKey:alreadyRun];
    UIAlertView *alert = [[UIAlertView alloc]
                          initWithTitle:@"Rate and Comment" message:@"Thank you for choosing Art of Codes, your support could make this app better. Please rate and comment and tell us what you think."delegate:self cancelButtonTitle:@"Done" otherButtonTitles:@"Rate it!", nil];
    [alert show];
 }

- (void)alertView:(UIAlertView *)actionSheet clickedButtonAtIndex:(NSInteger)buttonIndex {
    // the user clicked one of the OK/Cancel buttons
    if (buttonIndex == 0)
    {
        NSLog(@"ok");
    }
    else
    {
        [[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"http://itunes.apple.com/"]];
    }
}   

1 Ответ

1 голос
/ 01 января 2012

Если вы действительно хотите сделать это (и я советую вам не делать этого ради UX), то простым способом было бы написать NSDate объект для вашего standardUserDefaults объекта.последний раз ваше сообщение отображалось.Вы можете не хотеть всю дату, возможно, только месяц и день.При запуске приложения сравните сохраненную дату с текущей датой, чтобы узнать, пора ли показывать предупреждение.Если это так, обновите сохраненную дату и отобразите предупреждение.

Снова, я предлагаю вам не отображать предупреждение.Если люди хотят оценить ваше приложение, они будут.Единственное, что будет делать уведомление, это раздражать ваших пользователей и, возможно, создавать негативные отзывы для вашего приложения.

...