У меня есть 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];
}
Пожалуйста, помогите, это сводит меня с ума.
Спасибо,
Декан