У меня есть приложение, которое нужно что-то сделать, когда его отправили на задний план, используя кнопку "Домой" и что-то еще, когда устройство заблокировано с помощью верхней аппаратной кнопки. Стандартным способом решения этих требований являются уведомления и методы делегирования, отправленные UIApplication
. На iOS 4 они выглядят так:
// Pressing the home button
Will resign active.
Did enter background.
// Tapping app icon on Springboard
Will enter foreground.
Did become active.
// Pressing the lock button
Will resign active.
// Unlocking the device
Did become active.
Другими словами, его довольно легко сказать между блокировкой и фоном. На iOS 5 поведение изменилось:
// Pressing the home button
Will resign active.
Did enter background.
// Tapping app icon on Springboard
Will enter foreground.
Did become active.
// Pressing the lock button
Will resign active.
Did enter background.
// Unlocking the device
Will enter foreground.
Did become active.
Обратите внимание, что уведомления didEnterBackground
и willEnterForeground
теперь отправляются даже тогда, когда (un) блокирует устройство, что делает невозможным рассказать между блокировкой и фоном. Является ли это изменение документированным где-то? Это регресс? Вы знаете другой способ отличить два случая?