iOS 获取Home键指纹验证
类似于支付宝的指纹支付一样,在项目中添加指纹验证
首先应该引入系统库: LocalAuthentication.framework
在调用的页面引入头信息:#import "LocalAuthentication/LAContext.h"
LAContext *myContext = [[LAContext alloc] init]; NSError *authError = nil; NSString *myLocalizedReasonString = @"我们需要验证您的指纹来确认你的身份"; // 判断设备是否支持指纹识别 if ([myContext canEvaluatePolicy:LAPolicyDeviceOwnerAuthenticationWithBiometrics error:&authError]) { // 指纹识别只判断当前用户是否机主 [myContext evaluatePolicy:LAPolicyDeviceOwnerAuthenticationWithBiometrics localizedReason:myLocalizedReasonString reply:^(BOOL success, NSError *error) { if (success) { // User authenticated successfully, take appropriate action NSLog(@"指纹认证成功"); returnCode = @"1"; } else { // User did not authenticate successfully, look at error and take appropriate action NSLog(@"指纹认证失败,%@",error.description); // 错误码 error.code // -1: 连续三次指纹识别错误 // -2: 在TouchID对话框中点击了取消按钮 // -3: 在TouchID对话框中点击了输入密码按钮 // -4: TouchID对话框被系统取消,例如按下Home或者电源键 // -8: 连续五次指纹识别错误,TouchID功能被锁定,下一次需要输入系统密码 returnCode = [@(error.code) stringValue]; } }]; } else { // Could not evaluate policy; look at authError and present an appropriate message to user NSLog(@"TouchID设备不可用"); // TouchID没有设置指纹 // 关闭密码(系统如果没有设置密码TouchID无法启用) }
上面就是获取指纹验证的方法,可以在成功和失败的方法里面添加相应的逻辑