【发布时间】:2018-12-04 00:08:47
【问题描述】:
我正在向我的应用程序添加生物识别,但我只想使用 Touch ID,我想使用 Face IS。
有可能吗?或者使用 canEvaluatePolicy 我必须同时使用强制?
我正在使用此代码,但我看不到一种方法。
context.evaluatePolicy(LAPolicy.DeviceOwnerAuthenticationWithBiometrics, localizedReason: "Logging in with Touch ID", reply: { (success : Bool, error : NSError? ) -> Void in
dispatch_async(dispatch_get_main_queue(), {
if success {
let alert = UIAlertController(title: "Success", message: "", cancelButtonTitle: "Great!")
self.presentViewController(alert, animated: true, completion: nil)
}
if let error = error {
var message :String
switch(error.code) {
case LAError..AuthenticationFailed:
message = "There was a problem verifying your identity."
case LAError..UserCancel:
message = "You pressed cancel."
case LAError..UserFallback:
message = "You pressed password."
default:
message = "Touch ID may not be configured"
}
let alert = UIAlertController(title: "Error", message: message, cancelButtonTitle: "Darn!")
self.presentViewController(alert, animated: true, completion: nil)
}
context = LAContext()
})
})
【问题讨论】:
-
阻止 iPhone X* 用户(和新 iPad Pro 用户)使用其设备的生物识别功能是没有意义的。要么支持生物识别,要么不支持。给旗舰设备用户带来较少的体验并不是一个好主意。您应该避免引用“touchID”的硬编码字符串,因为它可能是人脸 ID
标签: ios swift touch-id lacontext