Я пишу собственный модуль ios (для реакции собственного), который определяет, когда защищенные данные недоступны и доступны. Я слушаю UIApplicationProtectedDataWillBecomeUnavailable
и UIApplicationProtectedDataDidBecomeAvailable.
Мой тестовый iphone имеет пароль, поэтому он должен соответствовать, когда устройство заблокировано и разблокировано. Другими словами, UIApplicationProtectedDataWillBecomeUnavailable
срабатывает иногда, но не чаще всего, когда я блокирую свое устройство.
Я заметил, что я надежно получаю уведомление, когда устройство разблокировано , но часто не получает уведомление, когда устройство заблокировано .
Почему это могло быть? Я вставил фрагмент своего кода ниже. Я тестирую на реальном iphone, а не на симуляторе iOS.
- (void)startObserving
{
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(deviceLocked) name:UIApplicationProtectedDataWillBecomeUnavailable object:nil];
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(deviceUnlocked) name:UIApplicationProtectedDataDidBecomeAvailable object:nil];
}
- (void)deviceLocked
{
/* this log line usually does not show up when i lock my iphone */
NSLog(@"** DATAP: Device is locked");
}
- (void)deviceUnlocked
{
/* this log line always shows up when i unlock my iphone */
NSLog(@"** DATAP: Device is unlocked");
}