根据我的理解,UIApplication.sharedApplication()。protectedDataAvailable应该在手机被锁定并且在iPhone上启用受保护的数据时返回false(显然设置了密码启用它)。
然而,尽管有这种情况,它总是返回true。
由于Corebluetooth State Preservation and Restoration,我的应用程序被iOS重新唤醒后,我需要立即知道手机是否已锁定。
我已经实现了事件监听器以了解手机何时被锁定/解锁,但只有在锁定状态发生变化时它们才有用,我无法在事件发生之前确定锁定状态。
有什么想法吗?感谢
更新:
这是我在applicationDidFinishLaunchingWithOptions中使用的:
self.phoneLockDetection.isPhoneLocked = !UIApplication.sharedApplication().protectedDataAvailable
答案 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