iOS 12 - NSFaceIDUsageDescription внезапно не работает
Я использовал NSFaceIDUsageDescription в моем приложении, и оно работало. Я удалил свое приложение со своего устройства и снова загрузил его (подключив свое устройство к моему mac и запустив из xcode), и теперь я не получаю оповещение о том, что мое приложение хотело бы использовать FaceID, почему предупреждение не появляется больше? Это мешает мне использовать FaceID в моем приложении.
class TouchIDAuth {
let context = LAContext()
func canEvaluatePolicy() -> Bool {
return context.canEvaluatePolicy(.deviceOwnerAuthenticationWithBiometrics, error: nil)
}
func authenticateUser(completion: @escaping (NSNumber?) -> Void) {
guard canEvaluatePolicy() else {
completion(0)
return
}
context.evaluatePolicy(.deviceOwnerAuthenticationWithBiometrics, localizedReason: "Logging in with Touch ID") { (success, evaluateError) in
if success {
DispatchQueue.main.async {
completion(nil)
}
} else {
let response: NSNumber
switch evaluateError?._code {
case Int(kLAErrorAuthenticationFailed):
response = 2
case Int(kLAErrorUserCancel):
response = 3
case Int(kLAErrorUserFallback):
response = 4
default:
response = 1
}
completion(response)
}
}
}
}
И когда я делаю это:
let touchMe = TouchIDAuth()
print(touchMe.canEvaluatePolicy())
Печать возвращает ложь.
Это проблема с моим устройством? Или с NSFaceIDUsageDescription?
0 ответов
Когда ваше устройство превышает лимит ошибочных попыток, оно обычно возвращает false. Попробуйте заблокировать устройство, затем разблокируйте его с помощью Face/ Touch ID, и оно снова начнет работать в вашем приложении. Он также должен возвращать код ошибки, почему он не работаетevaluateError
Надеюсь, это был ваш случай и решил проблему.