protectedDataAvailable始终为true

时间:2015-11-14 18:35:49

标签: ios lockscreen data-protection ble-state-preservation

根据我的理解,UIApplication.sharedApplication()。protectedDataAvailable应该在手机被锁定并且在iPhone上启用受保护的数据时返回false(显然设置了密码启用它)。

然而,尽管有这种情况,它总是返回true。

由于Corebluetooth State Preservation and Restoration,我的应用程序被iOS重新唤醒后,我需要立即知道手机是否已锁定。

我已经实现了事件监听器以了解手机何时被锁定/解锁,但只有在锁定状态发生变化时它们才有用,我无法在事件发生之前确定锁定状态。

有什么想法吗?感谢

更新:

这是我在applicationDidFinishLaunchingWithOptions中使用的:

self.phoneLockDetection.isPhoneLocked = !UIApplication.sharedApplication().protectedDataAvailable

1 个答案:

答案 0 :(得分:0)

不在查看设备日志下 - 您将在哪里看到崩溃转储。

Xcode上的设备控制台>窗口>装置>你的设备。它可能已折叠 - 如果是这样,请单击右侧窗格左下角的三角形按钮。

我在控制台日志中看到以下内容:

Nov 14 12:07:30 Ewan-Mellors-iPad SpringBoard[54] <Warning>: [MPUSystemMediaControls] Disabling lock screen media controls updates for screen turning off.
Nov 14 12:07:30 Ewan-Mellors-iPad UserEventAgent[775] <Error>:  LockStateNotifier aksNotificationCallback posting notification: com.apple.mobile.keybagd.lock_status
Nov 14 12:07:30 Ewan-Mellors-iPad UserEventAgent[775] <Notice>: (Note ) PIH: Lock status changed.
Nov 14 12:07:30 Ewan-Mellors-iPad MobileMail[192] <Warning>: Key bag transitioning from unlocked to locking

然后十秒钟后:

Nov 14 12:07:40 Ewan-Mellors-iPad kernel[0] <Notice>: AppleKeyStore:Sending lock change 1 for handle 0
Nov 14 12:07:40 Ewan-Mellors-iPad UserEventAgent[775] <Error>:  LockStateNotifier aksNotificationCallback posting notification: com.apple.mobile.keybagd.lock_status
Nov 14 12:07:40 Ewan-Mellors-iPad UserEventAgent[775] <Notice>: (Note ) PIH: Lock status changed.
Nov 14 12:07:40 Ewan-Mellors-iPad MobileMail[192] <Warning>: Key bag transitioning from locking to locked