【发布时间】:2020-01-31 08:56:24
【问题描述】:
在旧款 iPhone(例如 6、6s 等)上,生物特征验证对话/警报是隐藏的。如果您按下 iPhone 上的主页按钮通过指纹进行身份验证,它仍然有效,但对话/警报被隐藏,这会导致用户混淆。
这在 iOS 12 上正常运行,问题从 iOS 13 开始。
我的生物特征验证代码如下所示,并在视图控制器的 viewDidAppear 方法中触发:
let localAuthContext = LAContext()
var error: NSError?
if localAuthContext.canEvaluatePolicy(LAPolicy.deviceOwnerAuthenticationWithBiometrics, error: &error) {
localAuthContext.evaluatePolicy(LAPolicy.deviceOwnerAuthenticationWithBiometrics, localizedReason: "SIGNIN.TITLE.Login".localized) { [weak self] (success, error) in
if success {
// success
} else {
// failure
}
}
} else {
// can't evaluate policy
}
那么,我是否需要为 iOS 13 更改代码中的某些内容,或者这是 Apple 的问题?
【问题讨论】:
-
这是一个 iOS 漏洞,以后会修复。很多人都面临同样的问题。
-
iPhone 8 也有这个问题。
标签: swift ios13 biometrics