Для приложения существует 5 различных состояний:
- Активный передний план
- Активный передний план
- Запуск фоновой работы
- Задний план приостановлен
- Не работает
Когда вы запускаете приложение, оно находится в «Foreground Active», затем, когда отображается модальное push-уведомление, ваше приложение переходит в «Foreground Inactive».
В документации Apple сказала (http://developer.apple.com/library/ios/#documentation/uikit/reference/UIApplicationDelegate_Protocol/Reference/Reference.html):
Если она доставляет его, когда приложение не активно на переднем плане, оно отображает предупреждение, обозначает значок приложения или воспроизводит звук - все, что указано в объекте UILocalNotification.Если приложение работает на переднем плане, оповещение, значок или звуковой сигнал отсутствуют, вместо этого вызывается приложение: didReceiveLocalNotification: метод, если его реализует делегат.
Таким образом, на переднем плане application:didReceiveLocalNotification:
получаетвызывается, только если ваше приложение активно, и оно становится активным, когда вы отклоняете модальное уведомление.
Thisявляется пограничным, и для этого случая нет решения.