【发布时间】:2013-10-11 07:41:22
【问题描述】:
有人知道是否有一个 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,您可以假设刚刚发生了解锁。
【讨论】: