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无法启用)
        
    }

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

posted @ 2016-08-16 14:50  NSJELLY  阅读(2080)  评论(0编辑  收藏  举报