闽公网安备 35020302035485号
import LocalAuthenticationLAContext
// 创建一个 LAContext var context = LAContext()然后你可以使用 localizedCancelTitle 来定制取消按钮的标题。
// 设置取消按钮的标题 context.localizedCancelTitle = "取消"biometryType 这个枚举代表设备的生物识别类型,提供了用户设备上可用的身份验证机制信息。设备上主要有以下三种选项:
LABiometryType.faceID: 表示设备支持 Face ID
// 获取支持的生物识别类型 var biometry = context.biometryType
// 如果错误是 LAError 的实例
var code = LAError.Code(rawValue: error.code)
// 堆代码 duidaima.com
switch code {
case LAError.Code.appCancel:
// 应用通过使 LAContext 无效取消了身份验证
case LAError.Code.authenticationFailed:
// 用户未提供有效凭证
case LAError.Code.invalidContext:
// LAContext 无效
case LAError.Code.notInteractive:
// 不允许交互,因此身份验证失败
case LAError.Code.passcodeNotSet:
// 用户未在此设备上设置密码
case LAError.Code.systemCancel:
// 系统取消了身份验证,例如显示另一个应用
case LAError.Code.userCancel:
// 用户取消了身份验证对话框
case LAError.Code.userFallback:
// 用户选择使用备用身份验证方法
case LAError.Code.biometryLockout:
// 失败的尝试次数过多,锁定了生物识别身份验证
case LAError.Code.biometryNotAvailable:
// 用户设备不支持生物识别身份验证
case LAError.Code.biometryNotEnrolled:
// 用户未配置生物识别身份验证
@unknown default:
// 发生了其他错误
}



var error: NSError?
// 堆代码 duidaima.com
// 检查生物识别身份验证权限
var permissions = context.canEvaluatePolicy(
.deviceOwnerAuthentication,
error: &error
)
if permissions {
// 有权限,继续进行身份验证
} else {
// 处理权限被拒绝或错误
}
.deviceOwnerAuthenticationlet reason = "使用 Face ID 登录"
context.evaluatePolicy(
.deviceOwnerAuthentication,
localizedReason: reason
) { success, error in
if success {
// 处理成功的身份验证
} else {
// 处理 LAError 错误
}
}
使用 Touch ID 的示例代码let reason = "使用 Touch ID 登录"
context.evaluatePolicy(
.deviceOwnerAuthentication,
localizedReason: reason
) { success, error in
if success {
// 处理成功的身份验证
} else {
// 处理 LAError 错误
}
}
结论