【问题标题】:Unlock event iPhone解锁事件 iPhone
【发布时间】:2013-10-11 07:41:22
【问题描述】:

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

还是只有越狱设备才能做到这一点?

提前致谢。

【问题讨论】:

  • 答案是:不,那不可能!

标签: iphone events unlock


【解决方案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,您可以假设刚刚发生了解锁。

【讨论】:

  • 这些 darwin 通知是私有 API,因此苹果拒绝使用它们的应用程序。是否有任何公共 API 可以做到这一点?
猜你喜欢
  • 2010-10-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-07-08
  • 1970-01-01
  • 2015-01-03
  • 1970-01-01
相关资源
最近更新 更多