iOS 中的本地安全验证

/ 0评 / 0

iPhone5s之后,iPhone硬件上已支持进行指纹识别的功能,相应的,一些新的api也可以应用于APP中,进行用户安全的验证。目前,开发者可以使用的安全验证方式有两种,一种是通过手机密码进行验证,一种是通过识别指纹进行验证。

首先我们要添加 LocalAuthentication.framework 包,然后导入头文件

//本地安全验证
#import 

第一种:密码验证

    //添加手机密码验证:
    //创建安全验证对象
    LAContext *con = [[LAContext alloc]init];
    NSError *error;
    //判断是否支持密码验证
    BOOL can = [con canEvaluatePolicy:LAPolicyDeviceOwnerAuthentication error:&error];
    if (can) {
        [con evaluatePolicy:LAPolicyDeviceOwnerAuthentication localizedReason:@"验证信息" reply:^(BOOL success, NSError * _Nullable error) {
            NSLog(@"%d,%@",success,error);
        }];
    }

canEvaluatePolicy是用来判断是否支持手机密码验证的,如果没有设置手机密码,会返回NO,如果启用了,会出现如下界面:

passwordcus

第二种:指纹验证

    //进行指纹验证:
    LAContext *con1 = [[LAContext alloc]init];
    NSError *error1;
    BOOL can1 = [con1 canEvaluatePolicy:LAPolicyDeviceOwnerAuthenticationWithBiometrics error:&error1];
    NSLog(@"%d",can1);
    if (can1) {
        [con1 evaluatePolicy:LAPolicyDeviceOwnerAuthenticationWithBiometrics localizedReason:@"验证指纹" reply:^(BOOL success, NSError * _Nullable error) {
            NSLog(@"%d,%@",success,error1);
        }];
    }

如果我们设置了就会出现以下界面

touchidcus

通过这些验证方式,可以使用户的数据更加安全,在做敏感操作时,可以确保是手机的持有者。

代码请查看 http://git.oschina.net/zcb1603999/DCTest

评论已关闭。