ИСПРАВЛЕНО - Ладно, нашел, что это было, был сбит ошибочный [[UIApplication sharedApplication] cancelAllLocalNotifications];
, когда я этого не ожидал.
Ну, вот твоя проблема.
Спасибо за помощь всем, извините за то, что это просто синдром тупого кодера.
Я выстроил свое локальное уведомление примерно так:
- (void)scheduleNotification {
[[UIApplication sharedApplication] cancelAllLocalNotifications];
Class cls = NSClassFromString(@"UILocalNotification");
if (cls != nil) {
UILocalNotification *notif = [[cls alloc] init];
NSLog(@"%@", [NSDate date]);
notif.fireDate = [NSDate dateWithTimeIntervalSinceNow:10];
notif.alertBody = NSLocalizedString(@"Hello.", nil);
[[UIApplication sharedApplication] scheduleLocalNotification:notif];
NSLog(@"Notification scheduled at %@", notif.fireDate);
[notif release];
}
}
Как и ожидалось, мойЖурнал отладки выводит правильную fireDate через 10 секунд в будущем.Если я не покидаю свое приложение, я получаю успешный application:didReceiveLocalNotification:
обратный вызов.
Здесь происходит сбой, если я нажимаю кнопку, чтобы запланировать это уведомление, и нажимаю кнопку домой, чтобы поместить его в фоновом режиме.Если я сделаю это, уведомление никогда не сработает, и я никогда не получу представление предупреждения из ОС.
Я что-то упустил здесь?Я посмотрел здесь и вниз, на документы Apple, и чувствую, что упустил что-то очевидное.
Любая помощь будет принята с благодарностью.Благодаря.