2013-10-04 52 views
0

有誰知道是否有一個xcode解鎖事件可以跟蹤是否有人解鎖他的iPhone?解鎖事件iPhone

或者這是唯一可能的越獄設備?

在此先感謝。

+0

答案是:不,那不可能! – Teddy

回答

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,你可以假設剛剛發生瞭解鎖。

+0

這些達爾文通知是私有API,因此蘋果拒絕使用它們的應用程序。有沒有公​​共的API來做到這一點? – Geek