标签:
添加依赖库 LocalAuthentication.framework
#import <LocalAuthentication/LocalAuthentication.h> // 头文件
LAContext *context = [[LAContext alloc] init];
NSError *error = nil;
// 这句代码是让指纹验证的提示框没有输入密码
context.localizedFallbackTitle = @"";
if ([context canEvaluatePolicy:LAPolicyDeviceOwnerAuthenticationWithBiometrics error:&error]) {
[context evaluatePolicy:LAPolicyDeviceOwnerAuthenticationWithBiometrics localizedReason:@"请通过指纹验证解锁应用" reply:^(BOOL success, NSError * _Nullable error) {
if (success) { // 验证成功
// 指纹解锁是在子线程执行的,当你要刷新UI的时候需要回到主线程,要不然就会看到界面卡死
dispatch_async(dispatch_get_main_queue(), ^{
self.dactylogramLbl.text = self.dactylogramSwitch.on ? @"指纹验证已开启" : @"指纹验证未开启";
[kUserDefaults setBool:self.dactylogramSwitch.on forKey:@"isOpenFingerprintPwd"];
});
} else {
if (error.code == kLAErrorUserCancel) { // 点击了取消
NSLog(@"验证失败3");
} else {
NSLog(@"验证失败2");
}
} else {
NSLog(@"您的设备不能使用 TouchID 进行身份验证");
UIAlertView *alertView = [[UIAlertView alloc] initWithTitle:@"提示" message:@"您的设备不能使用 TouchID 进行身份验证" delegate:self cancelButtonTitle:@"确定" otherButtonTitles: nil];
[alertView show];
}
标签:
原文地址:http://www.cnblogs.com/HuNantanhuang/p/4990988.html