一、介绍
iPhone5S开始支持。
iOS8.0开放了 Touch ID 的接口
接口:<LocalAuthentication/LocalAuthentication.h>
指纹识别本质上只是判断手机当前的主人,一旦判断成功,可以简化流程。
二、使用
-(void)policyensure{
//1.创建 LAContext 对象
LAContext *context = [[LAContext alloc] init];
//2.判读设备是否支持指纹识别
BOOL flag = [context canEvaluatePolicy:LAPolicyDeviceOwnerAuthenticationWithBiometrics error:NULL];
if (flag) {
//3.如果支持指纹识别,就弹出指纹识别
[context evaluatePolicy:LAPolicyDeviceOwnerAuthenticationWithBiometrics localizedReason:@"大减价" reply:^(BOOL success, NSError * _Nullable error) {
if (success) {
//5.指纹正确
}else{
//6.指纹错误error.code
}
}];
}else{
//4.如果不支持指纹识别,就采用提示
NSLog(@"不支持指纹");
}
}
三、错误代码
LAErrorAuthenticationFailed 指纹无法识别
LAErrorUserCancel 用户点击了“取消”按钮
LAErrorUserFallback 用户取消,点击了“输入密码”按钮
LAErrorSystemCancel 系统取消,例如激活了其它应用程序
LAErrorPasscodeNotSet 验证无法启动,因为设备上没有设置密码
LAErrorTouchIDNotAvailable 验证无法启动,因为设备上没有 Touch ID
LAErrorTouchIDNotEnrolled 验证无法启动,因为没有输入指纹