Из того, что я понимаю, UIApplication.sharedApplication(). ProtectedDataAvailable должен возвращать значение false, когда телефон заблокирован, и защищенные данные включены на iPhone (видимо, установка пароля позволяет это).protectedDataAvailable always true
Однако, несмотря на сценарий, он всегда возвращает true.
Как только мое приложение снова пробудилось iOS из-за сохранения и восстановления состояния Corebluetooth, мне нужно сразу узнать, заблокирован ли телефон.
Я реализовал прослушиватели событий, чтобы узнать, когда телефон заблокирован/разблокирован, но они полезны только после изменения состояния блокировки, я не могу определить состояние блокировки до события.
Любые идеи? Благодаря
UPDATE:
это то, что я использую в applicationDidFinishLaunchingWithOptions:
self.phoneLockDetection.isPhoneLocked = !UIApplication.sharedApplication().protectedDataAvailable
Вы должны показать некоторый код, чтобы люди могли помочь. Прежде всего, убедитесь, что вы достаточно долго ждали - есть 10-секундный льготный период после того, как экран заблокирован, прежде чем защищенные данные будут заблокированы. Это можно увидеть, просмотрев журнал консоли телефона в Xcode> Window> Devices. –
Я только что обновил вопрос с некоторой информацией. Я не смог найти, где именно в журналах я должен искать событие состояния блокировки, но я немного подождал, прежде чем тестировать его, и вы правы, он работал, как ожидалось. Большое спасибо. Не возражаете ли вы объяснить немного дальше, когда эти события появляются в журнале? В списке устройств я выбираю свой телефон, затем просматриваю журналы устройств, что тогда? Спасибо –