TouchID 指纹登录
2016-10-24 15:14
253 查看
注:接入指纹验证之前确保您的设备是否支持 TouchID 功能并能正常使用的设备(iPhone 5s 及以上)。
项目源码请点击这里
#import "ViewController.h" #import <LocalAuthentication/LocalAuthentication.h> //需要导入这个库文件 @interface ViewController () @end @implementation ViewController - (void)viewDidLoad { [super viewDidLoad]; if ([[self.navigationController.viewControllers firstObject] isEqual:self]) { self.navigationItem.title = @"点击调用指纹识别"; } } - (void)touchesBegan:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event { [self touch]; } - (void)touch { if ([[self.navigationController.viewControllers firstObject] isEqual:self]) { self.navigationItem.title = @"指纹验证"; //定义一个alter按钮 LAContext *context = [LAContext new]; //这个属性是设置指纹输入失败之后的弹出框的选项 context.localizedFallbackTitle = @"输入密码"; // 按钮的标题 NSError *error = nil; //判断用户的手机是否支持指纹 if ([context canEvaluatePolicy:LAPolicyDeviceOwnerAuthenticationWithBiometrics error:&error]) { NSLog(@"支持指纹识别"); [context evaluatePolicy:LAPolicyDeviceOwnerAuthenticationWithBiometrics localizedReason:@"指纹登录" reply:^(BOOL success, NSError * _Nullable error) { //这里是指纹验证之后返回信息 //只返回 success 值为 TRUE 或 FALSE if (success) { NSLog(@"验证成功 你可以登录了 Go Go"); } else { NSLog(@"%@",error.localizedDescription); switch (error.code) { case LAErrorSystemCancel: { NSLog(@"系统取消授权,如其他APP切入"); break; } case LAErrorUserCancel: { NSLog(@"用户取消验证Touch ID"); break; } case LAErrorAuthenticationFailed: { NSLog(@"授权失败"); break; } case LAErrorPasscodeNotSet: { NSLog(@"系统未设置密码"); break; } case LAErrorTouchIDNotAvailable: { NSLog(@"设备Touch ID不可用,例如未打开"); break; } case LAErrorTouchIDNotEnrolled: { NSLog(@"设备Touch ID不可用,用户未录入"); break; } case LAErrorUserFallback: { [[NSOperationQueue mainQueue] addOperationWithBlock:^{ NSLog(@"用户选择输入密码,切换主线程处理"); }]; break; } default: { [[NSOperationQueue mainQueue] addOperationWithBlock:^{ NSLog(@"其他情况,切换主线程处理"); }]; break; } } } }]; } else { NSLog(@"不支持指纹识别"); switch (error.code) { case LAErrorTouchIDNotEnrolled: { NSLog(@"TouchID is not enrolled"); break; } case LAErrorPasscodeNotSet: { NSLog(@"A passcode has not been set"); break; } default: { NSLog(@"TouchID not available"); break; } } NSLog(@"%@",error.localizedDescription); } } } - (void)didReceiveMemoryWarning { [super didReceiveMemoryWarning]; } @end
项目源码请点击这里
相关文章推荐
- iOS指纹登录(TouchID)集成方案详解
- ios8 iphone5s,6 touchid指纹登录
- TouchID 指纹解锁
- Android指纹对称加密及登录功能的实现
- iOS_使用LAContext实现TouchID(指纹识别)的使用
- iOS TouchID 指纹识别
- ThinkPad T410S 上 Ubuntu 14.04 实现指纹识别登录
- TouchID 指纹解锁
- 通过修改Gina.dll Windows指纹登录程序完成了-4
- iOS开发 手势密码解锁和指纹TouchID解锁
- Android指纹对称加密及登录功能的实现
- Ubuntu 下启用 Thinkpad 的指纹登录
- iOS开发实现TouchID指纹解锁
- Android指纹对称加密及登录功能的实现
- iOS - TouchID 指纹识别
- Android指纹对称加密及登录功能的实现
- Android指纹对称加密及登录功能的实现
- iOS8指纹识别TouchID
- iOS指纹识别登录流程及实现
- iOS 指纹解锁 验证TouchID