iOS传感器开发——为APP添加手机密码、指纹进行安全验证
博客专区 > 珲少 的博客 > 博客详情
iOS传感器开发——为APP添加手机密码、指纹进行安全验证
珲少 发表于2年前
iOS传感器开发——为APP添加手机密码、指纹进行安全验证
  • 发表于 2年前
  • 阅读 4425
  • 收藏 101
  • 点赞 6
  • 评论 6

腾讯云 新注册用户 域名抢购1元起>>>   

摘要: iPhone5S后,iPhone加入了识别指纹的传感器,可以使用这个api在我们的APP中添加安全验证。

iOS传感器开发——为APP添加手机密码、指纹进行安全验证

一、引言

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

二、为APP添加安全验证

要使用安全验证的相关api,我们需要引入如下头文件:

#import <LocalAuthentication/LocalAuthentication.h>

添加手机密码验证:

    //创建安全验证对象
    LAContext * con = [[LAContext alloc]init];
    NSError * error;
    //判断是否支持密码验证
    /**
    *LAPolicyDeviceOwnerAuthentication 手机密码的验证方式
    *LAPolicyDeviceOwnerAuthenticationWithBiometrics 指纹的验证方式
    */
    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,如果启用了,会出现如下界面:

密码验证的提示信息,我们可以自定义设置。

进行指纹验证:

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

回调中的success用来判断是否验证成功:

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

专注技术,热爱生活,交流技术,也做朋友。

——珲少 QQ群:203317592

共有 人打赏支持
粉丝 775
博文 361
码字总数 415579
评论 (6)
回去干活
这个只能本地验证,并没有什么用.
renyi1986

引用来自“回去干活”的评论

这个只能本地验证,并没有什么用.
按理支付宝这样也没啥用,
K6F
还是很有用的,可以更好的对敏感信息进行保护,在某些可以取代手势解锁了
恶魔小猪
[10][10][10][11][9][18]
T_T-T_T
使用LAPolicyDeviceOwnerAuthenticationWithBiometrics这个属性的话,TOUCH ID 锁定之后不会弹出系统密码解锁页面,然而使用LAPolicyDeviceOwnerAuthentication这个的话会弹出系统密码解锁页面,但是点击“输入密码”也还是跳到系统密码解锁页面,却不能响应自定义事件。。我想实现当三次指纹错误或TOUCH ID 锁定之后自动弹出系统密码解锁页面,当点击“输入密码”能够响应自定义事件,就跟支付宝指纹支付功能一样,怎么办?
×
珲少
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: