我想知道是否有任何方法(应该在Appstore上批准)来检测设备密码何时在主屏幕上被激活。
基本上,我的应用程序想知道这些电话事件:
就我的研究而言,通过将Darwin Notification Center和notify_get_state与4个事件结合起来,我可以实现1&2:
com.apple.springboard.lockstate
com.apple.springboard.lockcomplete
com.apple.springboard.hasBlankedScreen
com.apple.iokit.hid.displayStatus我遇到的问题是,这些事件只告诉我锁/解锁状态,而不是密码状态。意味着,如果您在5分钟后需要密码,您可以在前4分钟内不使用密码锁定/解锁电话。
我还知道有一种方法可以通过使用SBGetScreenLockStatus(port, &locked, &passcode)获得锁状态& passcode状态。但它使用的是私有框架,因此它将被苹果拒绝。
从这个主题(Programatically Checking if a Passcode Lock is Set),我得到只有当密码是设置在电话或不。
更新:我发现在密码生效时有一个名为back的事件。com.apple.mobile.keybagd.lock_status,但找不到任何关于它的文档。当我使用notify_get_state时,它不会改变值。
发布于 2016-06-28 15:08:56
我想你可以找到一些私人API来获得它。然而,最有可能的是,这些都不会得到苹果的批准。他们有可能会错过这个机会。然而,他们拒绝基于私有API使用的应用程序。
https://stackoverflow.com/questions/38035617
复制相似问题