UILocalNotification repeatInterval - PullRequest
       8

UILocalNotification repeatInterval

1 голос
/ 09 сентября 2011

У меня есть 2 вопроса.

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

  2. В симуляторе я запускаю расписание приложения уведомления. Приходит уведомление, которое я просматриваю. Затем я закрываю приложение и устанавливаю системную дату равной 1 неделе в следующий день недели, но уведомлений нет, поэтому я могу проверить это уведомление, изменив системные часы компьютера. Я не хочу ждать недели для каждого теста.

Вот код

- (void) scheduleNotificationWithItem:(NSDate *)date interval:(int)frequency {
 UILocalNotification *localNotif = [[UILocalNotification alloc]init];

 if (localNotif == nil) {
      return;
 }

 localNotif.fireDate = [date addTimeInterval:frequency];
 localNotif.timeZone = [NSTimeZone defaultTimeZone];
 localNotif.repeatCalendar = [NSCalendar currentCalendar];
 localNotif.repeatInterval = kCFCalendarUnitWeekday;
 localNotif.applicationIconBadgeNumber = 1;
 localNotif.alertBody = [NSString stringWithFormat:NSLocalizedString(@"%@.",nil),@"Weekly Reminder"];
 localNotif.alertAction = NSLocalizedString(@"View Notification Details", nil);
 localNotif.soundName = UILocalNotificationDefaultSoundName;

 [[UIApplication sharedApplication]scheduleLocalNotification:localNotif];

 [localNotif release];
}

Пожалуйста, помогите, это сводит меня с ума. Спасибо, Декан

1 Ответ

6 голосов
/ 14 ноября 2011

1) Задание интервала повторения «NSWeekCalendarUnit» должно помочь. Повторяется еженедельно в тот же день и время, что и исходное уведомление.

2) Я не тестировал в симуляторе, но смена часов на реальном iPhone вызывает будущие предупреждения.

...