iOS进阶_密码学(三.指纹识别)

1.iPhone 5s 以后推出指纹识别
2.在 iOS 8.0 苹果才开放了指纹识别 SDK

首先我们要清楚指纹识别的应用场景,才能去使用它。我们考虑一个问题:登录的逻辑 是否可以用指纹来代替呢?

答案是不能的
指纹和密码的区别

  • 指纹:代表你是这个手机的主人
  • 密码:代表你是这个账号的主人

支付是先做了登录的,登录是用到密码的,两者结合使用才是正确的,指纹不能取代密码

指纹识别错误信息

  • LAErrorAuthenticationFailed —指纹无法识别
  • LAErrorUserCancel —用户点击取消
  • LAErrorUserFallback —用户点击了输入密码
  • LAErrorSystemCancel —系统取消,比如激活了其他应用
  • LAErrorPasscodeNotSet —因为设备上没有设置密码
  • LAErrorTouchIDNotAvailable —设备没有Touch ID,iPhone5s以前的设备
  • LAErrorTouchIDNotEnrolled —因为用户没有输入指纹
  • LAErrorTouchIDLockout —多次输入错误,密码锁定
  • LAErrorBiometryNotAvailable —指纹信息不可用
  • LAErrorBiometryNotEnrolled —指纹信息没注册
  • LAErrorBiometryLockout —指纹锁定
  • LAErrorNotInteractive —无交互

指纹识别代码实例

#import "ViewController.h"
#import <LocalAuthentication/LocalAuthentication.h>

@interface ViewController ()

@end

@implementation ViewController

- (void)viewDidLoad {
    [super viewDidLoad];
    //指纹识别
    [self laContext];
}

-(void)laContext{
    LAContext * ctx = [[LAContext alloc]init];
    //判断设备是否支持指纹识别
    if ([ctx canEvaluatePolicy:LAPolicyDeviceOwnerAuthenticationWithBiometrics error:NULL]) {
        //输入指纹
        [ctx evaluatePolicy:LAPolicyDeviceOwnerAuthenticationWithBiometrics localizedReason:@"指纹支付" reply:^(BOOL success, NSError * _Nullable error) {
            NSLog(@"%d %@",success,error);
        }];
    }else{
        NSLog(@"不支持");
    }
}

@end
  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值