是否有任何方法(在swift中)知道系统faceId提示是否正在呈现?我看不到任何事件,通知或委托功能。我应该避免显示由异步事件触发的视图,以防应用程序试图对用户进行身份验证。
在Swift中没有特定的事件,通知或委托方法允许您确定是否正在呈现系统Face ID提示。但是,您可以使用LAContext类来检查设备上Face ID的可用性和状态,然后使用该信息来确定是否可能显示提示。
您可以使用LAContext的canEvaluatePolicy方法来检查设备是否支持Face ID以及用户是否已配置它。
let context = LAContext()
var error: NSError?
if context.canEvaluatePolicy(.deviceOwnerAuthenticationWithBiometrics, error: &error) {
//FaceID is available
}
然后您可以使用evaluatePolicy方法来检查用户最近是否已经进行了身份验证。
context.evaluatePolicy(.deviceOwnerAuthenticationWithBiometrics, localizedReason: "Log in with Face ID") { success, error in
if success {
// Face ID authentication was successful
} else {
// Face ID authentication failed
}
}
重要的是要注意,你应该避免呈现由异步事件触发的视图,以防应用程序试图对用户进行身份验证。