Исправлена эта проблема для моей конкретной проблемы - как обнаружить разницу между поведением OS4 и OS5, когда устройство выходит на экран блокировки.
В OS4 приложение выполняет 'applicationWillResignActive', но в OS5 оно полностью переходит к 'applicationDidEnterBackground', которое выглядит точно так же, как пользователь нажимает кнопку Home.
Оказывается, что если вы проверяете UIApplicationState приложения, указанного в '- (void) applicationDidEnterBackground: (UIApplication *) application', у него есть 3 возможных значения:
typedef enum {
UIApplicationStateActive,
UIApplicationStateInactive,
UIApplicationStateBackground
} UIApplicationState;
Когда пользователь попадает домой в OS5, вы получаете UIApplicationStateBackground, но когда пользователь нажимает Lock, вы получаете UIApplicationStateInactive.
Надеюсь, это поможет.
С праздником всех.