Кто-нибудь знает, есть ли событие разблокировки xcode, которое может отслеживать, если кто-то разблокирует свой iPhone?
Или это возможно только на взломанных устройствах?
Заранее спасибо.
Кто-нибудь знает, есть ли событие разблокировки xcode, которое может отслеживать, если кто-то разблокирует свой iPhone?
Или это возможно только на взломанных устройствах?
Заранее спасибо.
Да, вы можете сделать это на устройстве без взлома, используя CFNotificationCenterAddObserver
.
Добавьте наблюдателя для уведомления Дарвина 'lockstate':
CFNotificationCenterAddObserver(CFNotificationCenterGetDarwinNotifyCenter(),
NULL,
lockStateDidNotify,
CFSTR("com.apple.springboard.lockstate"),
NULL,
CFNotificationSuspensionBehaviorDeliverImmediately);
и вы будете получать уведомления каждый раз, когда устройство блокируется / разблокируется:
static void lockStateDidNotify(CFNotificationCenterRef center, void *observer, CFStringRef name, const void *object, CFDictionaryRef userInfo)
{
NSLog(@"The Device Locked/Unlocked");
}
Поскольку это срабатывает как для блокировки, так и для разблокировки, это не совсем то, что вам нужно, но вы можете наблюдать com.apple.springboard.lockcomplete
(который только срабатывает во время блокировки) и проверить, получаете ли вы оба. Если вы не получили lockcomplete
, можно предположить, что разблокировка произошла только что.