私が理解していることから、UIApplication.sharedApplication().protectedDataAvailable は、電話がロックされていて iPhone で保護されたデータが有効になっている場合に false を返す必要があります (パスコードを設定すると有効になるようです)。
ただし、シナリオに関係なく、常に true を返します。
Corebluetooth State Preservation and Restoration によりアプリが iOS によって再起動されたら、電話がロックされているかどうかをすぐに知る必要があります。
電話がいつロック/ロック解除されるかを知るためにイベントリスナーを実装しましたが、ロック状態が変化した場合にのみ役立ちます.イベントの前にロック状態を判断することはできません.
何か案は?ありがとう
アップデート:
これは、applicationDidFinishLaunchingWithOptions で使用するものです。
self.phoneLockDetection.isPhoneLocked = !UIApplication.sharedApplication().protectedDataAvailable