Проблема в том, что мои уведомления не проходят, когда они настроены. Я помещал сборщик дат в наконечник и кнопку под ним. Пользователь должен установить дату в сборщике, и нажав кнопку, установите уведомление, чтобы он заработал за 60 часов до даты. Таким образом, похоже, что у меня просто возникают проблемы с тем, чтобы получить уведомление о дате в сборщике даты. Вот код, он находится в моем контроллере представления:iOS: локальные уведомления не запускаются вовремя
- (IBAction)scheduleNotifButton:(id)sender {
UILocalNotification *localNotif = [[UILocalNotification alloc] init];
NSDate *selectedDate = [self.datePicker date];
localNotif.fireDate = [selectedDate dateByAddingTimeInterval:-60*60*60];
localNotif.timeZone = [NSTimeZone defaultTimeZone];
localNotif.alertBody = @"Event is in three days!";
localNotif.alertAction = nil;
localNotif.soundName = UILocalNotificationDefaultSoundName;
localNotif.applicationIconBadgeNumber = 0;
[[UIApplication sharedApplication] scheduleLocalNotification:localNotif];
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Event scheduled."
message:@"You will be notified three days before the event."
delegate:nil
cancelButtonTitle:@"Okay."
otherButtonTitles:nil];
[alert show];
}
А вот некоторые дополнительный код, если это помогает, это больше кода с моей точки зрения контроллера, который имеет дело с сохранением даты в селекторе, который вошел пользователь :
- (IBAction)dateChanged:(id)sender
{
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
NSDate *selectedDate = [self.datePicker date];
[defaults setObject:selectedDate forKey:@"ImportantDatesViewController.selectedDate"];
[defaults synchronize];
}
- (void)viewDidLoad {
NSDate *storedDate = [[NSUserDefaults standardUserDefaults]
objectForKey:@"ImportantDatesViewController.selectedDate"];
if (storedDate == nil) {
storedDate = [NSDate date];
}
[self.datePicker setDate:storedDate animated:NO];
}
Я рыть через этот код в течение 3 дней, и теперь не могу понять, почему мои уведомления не доходят, когда они должны. Любая помощь очень ценится, спасибо!
Спасибо. Он отправляет предупреждение, но, похоже, он не зависит от даты, когда пользователь входит в сборщик. – John