解锁事件iPhone

时间:2013-10-04 10:26:40

标签: iphone events unlock

是否有人知道是否有可以跟踪某人是否解锁iPhone的xcode解锁事件?

或者这只能用越狱设备吗?

提前致谢。

1 个答案:

答案 0 :(得分:1)

是的,您可以使用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,你可以假设刚刚发生解锁。