UIAlertView не отображается при выходе из спящего режима в приложении iOS

Мое приложение должно иногда отображать UIAlertView при нажатии кнопки «Домой» или кнопки блокировки или при отображении центра уведомлений.

Я показываю оповещение из метода делегата applicationWillResignActive, и все в порядке, когда нажимается кнопка «Домой» или когда отображается центр уведомлений. Но есть проблема, если нажимается кнопка блокировки (кнопка включения/выключения).

В этом случае оповещение не отображается, когда я возвращаюсь в приложение (если я использовал кнопку «Домой», оно там). Я больше ничего не делаю в других выполняемых методах AppDelegate. Кроме того, когда я показываю новое оповещение (любое оповещение в приложении), оповещение, которое не отображалось, когда я вернулся, отображается после того, как я отклоняю новое.

Пожалуйста, кто-нибудь может мне помочь?

Заранее спасибо.


person angeleke    schedule 31.03.2013    source источник
comment
Вам нужно опубликовать код   -  person JSA986    schedule 31.03.2013
comment
Кажется странным хотеть показывать предупреждение, когда приложение только что было запущено в фоновом режиме — вы, конечно, его не увидите. Почему бы не показать предупреждение, когда оно вернется, с помощью applicationDidBecomeActive: вместо этого?   -  person Lewis Gordon    schedule 01.04.2013
comment
Взгляните на: stackoverflow.com/questions/4783152/   -  person viral    schedule 01.04.2013
comment
Да, я мог бы сделать это с помощью applicationDidBecomeActive, но я не понял разного поведения двух кнопок. Спасибо всем!   -  person angeleke    schedule 01.04.2013


Ответы (1)


ЛЕГКО, ДАЙТЕ МНЕ ПРЕДСТАВИТЕЛЬ ОТВЕТ:

Когда приложение переводится в фоновый режим, оно приостанавливается. Частью этого процесса является закрытие открытых представлений предупреждений.


ОТВЕТ Я НА САМОМ ДЕЛЕ ЗНАЮ, О ЧЕМ ГОВОРЮ:

Логика этого заключается в том, что когда пользователь нажимает кнопку «Домой» при отображении предупреждения, он может искать информацию о том, как ответить на предупреждение. Однако при нажатии кнопки переход в спящий режим пользователь полностью прекращает использование устройства. Apple знает, что если они снова разблокируют свое устройство через 3 часа и увидят что-то вроде Confirm Deletion, они совершенно не поймут, что они только что делали и что делать сейчас.

Известно, что это вызывает серьезное состояние, известное как «что-в-мире-я-должен-делать-сейчас». Симптомы этого состояния включают нажатие круглой кнопки в нижней части экрана и последующее удержание значка приложения, пока он не начнет покачиваться. Затем они нажимают маленькую кнопку «x». Это не хорошо для карманов разработчиков.

person Undo    schedule 01.04.2013
comment
В порядке. Но тогда почему предупреждение отображается после того, как я показываю новое предупреждение? - person angeleke; 01.04.2013
comment
@angeleke Не могли бы вы объяснить подробнее? - person Undo; 01.04.2013