UILocalNotification - Как обрабатывать, когда приложение НЕ запущено?

Я реализовал UILocalNotifications в двух разных приложениях. Одно из них использует Location Services, что означает, что если его убивают, оно (обычно) перезапускается (поэтому это не такая большая проблема). Однако в другом приложении я планирую UILocalNotification на основе времени. В этом случае у меня возникает серьезная проблема.

Если я запланирую уведомление, затем приложение будет убито, вытеснено из памяти, телефон будет выключен, а затем снова включен, я не смогу просмотреть старые уведомления "автоматически" при открытии приложения.

Вот рабочий процесс, который работает (приложение работает в фоне):

  1. Запустите приложение; приложение запланирует уведомление; закройте приложение; приложение теперь работает в фоне
  2. Получите локальное уведомление; сначала проигнорируйте его; потяните выпадающее меню сверху (строка состояния); нажмите на уведомление, чтобы запустить приложение
  3. Результаты: Приложение соответствующим образом отображает информацию в уведомлении.

Вот рабочий процесс, который не работает (приложение больше не работает в фоне):

  1. Запуск приложения; приложение планирует уведомление; закрыть приложение; приложение теперь работает в фоне
  2. Вручную убить приложение (чтобы смоделировать мою ситуацию)
  3. Все еще получаем локальное уведомление; сначала игнорируем его; тянем выпадающее меню сверху (строка состояния); касаемся уведомления для запуска приложения
  4. Результаты: Приложение запускается, но метод didReceiveLocalNotification не вызывается. Пользователь считает, что приложение не работает.
    Примечание: Я даже не могу вручную принудительно вывести информацию, потому что если они получили более одного уведомления, я не могу определить, к какому из них они прикоснулись, чтобы знать, какое из них отображать.

Есть ли способ узнать, к какому уведомлению они прикоснулись, когда приложение не работает в фоновом режиме (и поэтому не запускает метод didReceiveLocalNotification)?

10
задан Ozair Kafray 24 July 2013 в 05:51
поделиться