如何确定正在使用/解锁iPhone

我正面临一个需要检测用户是否使用iPhone的要求。 即使我的应用程序在后台也是。 到目前为止,我已经找到了以下方法,但没有一个指向解锁机制:

  1. applicationProtectedDataWillBecomeUnavailable :这将告诉用户是否已锁定/解锁设备,但仅在设置了密码时才能使用。

  2. 达尔文锁定/解锁通知 :AppStore上不接受。

  3. 接近传感器( UIDeviceProximityStateDidChangeNotification :仅当用户正在呼叫时才会发生这种情况。

  4. [[UIScreen mainScreen] brightness] :可以在applicationDidEnterBackground状态期间查询,以检查手机是否被锁定或按下了主页按钮。 如果亮度大于0,则表示已按下主页按钮或已转换到某个其他应用程序,当它为0时,表示已锁定。

  5. 使用运动传感器:鉴于电池排水,一种相当不正确的方法来检查某个坐标系中设备的滚动或加速度

  6. UIDeviceOrientationDidChangeNotification :仅在app位于前台时才有效。

  7. 苹果公司“采取唤醒”实施背后的技术是什么:我已经看到iPhone6s在你拿起它时会使屏幕变亮。 他们必须使用比加速度计更有效的方法吗?

我没有看到任何其他好方法。 我错过了什么?