项目中添加指纹验证

类似于支付宝的指纹支付一样,在项目中添加指纹验证

首先应该引入系统库: 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无法启用)

}

上面就是获取指纹验证的方法,可以在成功和失败的方法里面添加相应的逻辑。

你可能感兴趣的:(项目中添加指纹验证)