我想知道是否有任何方法(应该在Appstore上批准)来检测主屏幕上何时激活设备密码。
基本上,我的应用想知道这些电话事件:
据我研究,我可以达到1& 2由Darwin Notification Center
&组合notify_get_state
有4个事件:
com.apple.springboard.lockstate
com.apple.springboard.lockcomplete
com.apple.springboard.hasBlankedScreen
com.apple.iokit.hid.displayStatus
我得到的问题是这些事件只告诉我锁定/解锁状态,而不是密码状态。意味着如果您在5分钟后需要密码,则可以先锁定/解锁没有密码的手机4分钟。
我也知道有一种方法可以获得锁定状态和放大器状态。密码状态,使用SBGetScreenLockStatus(port, &locked, &passcode)
。
但它正在使用私有框架,因此它将被Apple拒绝。
从这个主题(Programatically Checking if a Passcode Lock is Set)我只有在手机上设置了密码才能得到。
更新:我发现当密码生效时会有一个回叫事件。
com.apple.mobile.keybagd.lock_status
但无法找到有关它的任何文件。当我使用notify_get_state
时,它没有改变价值。
答案 0 :(得分:1)
我认为您可以找到一些私有API来获取它。但是,很可能这些不会被Apple批准。他们有可能会错过它。但是,他们拒绝基于私有API使用的应用程序。