我想知道如何调用iOS来显示从苹果弹出的警报,以使用户在应用程序设置中将其禁用时可以使用Face ID / Touch ID进行访问。我知道这已放入info plist中,但是当我从设置中禁用它们时,它不再显示询问:
答案 0 :(得分:0)
如@Paulw11所述,您只需要问一次。如果用户拒绝访问,则最好的办法是询问他们是否要转到“设置”以允许生物识别。代码将是这样的:
let alertController = UIAlertController (title: "Title", message: "Go to Settings?", preferredStyle: .alert)
let settingsAction = UIAlertAction(title: "Settings", style: .default) { (_) -> Void in
guard let settingsUrl = URL(string: UIApplication.openSettingsURLString) else {
return
}
if UIApplication.shared.canOpenURL(settingsUrl) {
UIApplication.shared.open(settingsUrl, completionHandler: { (success) in
print("Settings opened: \(success)") // Prints true
})
}
}
alertController.addAction(settingsAction)
let cancelAction = UIAlertAction(title: "Cancel", style: .default, handler: nil)
alertController.addAction(cancelAction)
present(alertController, animated: true, completion: nil)
如this answer所示。
请记住,这会将用户从应用程序中带走,但是到目前为止,没有其他方法可以做到这一点。
答案 1 :(得分:-1)
您需要检查是否可以通过生物识别技术对设备进行身份验证。
在调用函数进行身份验证之前,请先执行此操作。
func canAuthenByBioMetrics() -> Bool {
let context = LAContext()
var authError: NSError?
if context.canEvaluatePolicy(.deviceOwnerAuthenticationWithBiometrics, error: &authError) {
return true
} else {
return false
}
}
显示您的代码将是:
if self.canAuthenByBioMetrics() {
// Do you authentication
} else {
// Ask user for enable permission or setup biometric if needed
}