UILocalNotification не отображается в центре уведомлений, когда приложение находится в фоновом режиме - PullRequest
1 голос
/ 09 января 2012

У меня есть приложение GPS, которое регистрируется для запуска в background.Я также показываю UILocalNotification, когда я закончил процесс.Это правильно показывает, и если приложение открыто, то оно также появляется в Notification Center (проведите сверху вниз).Но, если я вызываю UILocalNotification, когда мое приложение находится в фоновом режиме или экран заблокирован, я получаю уведомление, но оно НЕ отображается в Notification Center.

Я правильно регистрируюсьдля уведомлений в моем делегате приложения (обход ошибки в iOS 5):

// Register for notifications
    [[UIApplication sharedApplication]registerForRemoteNotificationTypes:
     UIRemoteNotificationTypeBadge |
     UIRemoteNotificationTypeAlert |
     UIRemoteNotificationTypeSound];

Вызов уведомления:

UILocalNotification *localNotif = [[UILocalNotification alloc] init];
localNotif.alertBody = msg;
localNotif.alertAction = NSLocalizedString(@"View", nil);
localNotif.soundName = @"alert.caf";
[[UIApplication sharedApplication] setApplicationIconBadgeNumber:1];
[[UIApplication sharedApplication] presentLocalNotificationNow:localNotif];
[localNotif release];

Это ошибка?Почему он отображается в Notification Center только тогда, когда мое приложение открыто, даже если уведомление показывается пользователю, а не в других случаях?

Ответы [ 3 ]

1 голос
/ 27 августа 2014

Вы также используете push-уведомления? Я считаю, что нет необходимости звонить registerForRemoteNotificationTypes:, если вы используете только локальный.

Проверка Здесь

0 голосов
/ 10 января 2012

Вы добавили ключ UIBackgroundModes в свой файл Info.plist?

Вам нужно, чтобы ключ UIBackgroundModes был установлен в location.

0 голосов
/ 09 января 2012

Судя по тому, что вы разместили, не похоже, что код будет работать в фоновом режиме.Похоже, вы пытаетесь представить локальное уведомление, когда даже происходит в фоновом режиме.Ты не сможешь это сделать.Локальные уведомления должны планироваться во время работы приложения, чтобы отключаться в более позднее время, когда приложение не запущено, и тогда они будут срабатывать даже при закрытии приложения.Вам нужно использовать Push-уведомления.Ознакомьтесь с документацией Apple здесь.

РЕДАКТИРОВАТЬ: в настройках вашего приложения включен центр уведомлений?

...