ApplicationDidBecomeActive не вызывается при запуске приложения из баннера/пользовательского действия

Я столкнулся с этой странной проблемой, пытаясь внедрить новые интерактивные уведомления iOS-8. При работе с локальными уведомлениями все работает так, как ожидалось, но когда дело доходит до APNS - все не так хорошо работает.

В деталях: я получаю пользовательский push, как это должно быть через баннер (я регистрируюсь только до минимального контекста), но когда пользователь вводит кнопку, представляющую настраиваемое действие, мой делегат приложения applicationDidBecomeActive: не вызывается; Фактически - приложение застревает в неактивном режиме.

Странно, что приложение переходит в активный режим при запуске с экрана Уведомления (справа от Сегодня). Кроме того, в обоих случаях мой делегат:

handleActionWithIdentifier:forRemoteNotification:completionHandler:

вызывается с правильным идентификатором.

Любая помощь будет очень оценена!

Ответ 1

Похоже, это ошибка iOS 8. В документе журнала изменений iOS в Urban Airship найдено следующее:

Примечания iOS 8 (Обновлено 25 сентября 2014 года)

Известные проблемы с iOS 8.0.0, которые могут повлиять на ваше приложение: - Приложения не вводят "активное" состояние при запуске из интерактивного уведомления, а последующие сеансы приложения не получают приложение: didBecomeActive вызов делегата или
Уведомление UIApplicationDidBecomeActiveNotification. Приложение государство никогда не переходит из "неактивного" (радар # 18179525). Эта будет влиять на точность отчетности для приложений, используя интерактивные уведомления.

http://docs.urbanairship.com/reference/libraries/ios/latest/ios_changelog.txt

Я не нашел никаких указаний на то, что это было исправлено в последних версиях iOS 8, включая 8.1 и 8.2-бета, и никаких обходных путей для решения проблемы.