装逼特技--touchID

Touch ID指纹识别作为iPhone 5s上的“杀手级”功能早已为人们所熟知,iPhone 6系列、iPhone 6s系列、iPad Pro、iPad mini 4、iPad mini 3和iPad air 2也使用了Touch ID。[1] 苹果把用户的指纹数据存放在处理器的安全区域(Secure Enclave)中,充分保护用户的数据安全。除此之外,苹果还有另外一道指纹数据安全防线,以一种前所未有的硬件技术实现了对用户数据的保护。因此只有5s以上的设备和iOS8以上的系统的才支持touchID。

正题:

废话不多说,直接开搞。
首先
#import

然后判断系统是否大于等于8.0
为了方便使用我们写一个宏

  #define iOS8  ([UIDevice currentDevice].systemVersion.doubleValue >= 8.0)


- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {


if (!iOS8) {
    // 如果低于8.0直接返回
    return;
}

//调用touchID
[self toucheIDShow];

}

调用方法实现如下:

- (void)toucheIDShow {


// 创建指纹验证对象
LAContext *context = [[LAContext alloc] init];

NSError *error = nil;


// 验证其是否支持touchID
if ([context canEvaluatePolicy:LAPolicyDeviceOwnerAuthenticationWithBiometrics error:&error]) {
    
    // 如果支持的话就开启touchID
    [context evaluatePolicy:LAPolicyDeviceOwnerAuthenticationWithBiometrics localizedReason:@"我就是弄这玩" reply:^(BOOL success, NSError * _Nullable error) {
       
        
        if (success) {
            
            // 验证成功,在这里做验证成功的操作
            NSLog(@"验证成功");
            
        }
        else {
        

            NSLog(@"errorCode--%d,error%@",error.code,error.localizedDescription);
        }
        
        
    }];
    
}
else {

    // 不支持touchID打印错误
    if (error) {
        
        NSLog(@"%@",error.localizedDescription);
    }
}




}

用模拟器运行的效果


装逼特技--touchID_第1张图片
settings.gif

注意:模拟器的设置如下图,要不会显示不支持touchID

装逼特技--touchID_第2张图片
hard.png

就是这么简单轻松!!!

你可能感兴趣的:(装逼特技--touchID)