iOS SDK详解之App使用Touch ID认证

本文详细介绍了从iOS8.0开始Apple开放的TouchID认证功能。包括支持的设备类型、如何导入并初始化LAContext,以及如何进行TouchID认证的具体步骤。同时列举了可能出现的错误类型及其含义。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

原创Blog,转载请注明出处
blog.youkuaiyun.com/hello_hwc


前言:从iOS 8.0之后,Apple 开放了App使用Touch ID来认证。但是有几点要注意:

  • App只是把认证的过程代理给iOS系统了,并不能获得指纹的具体信息
  • 不要试图把指纹信息和其他的数据库比较,在我写的这天还是不可能的。

使用的效果图

开始验证

验证失败


支持的设备

  • iPhone 5s +
  • iPad Air 2 +
  • iPad Mini 3 +

如何使用
导入使用的framework

#import <LocalAuthentication/LocalAuthentication.h>

初始化一个LAContext

  LAContext * context = [[LAContext alloc] init];

检查当前设备是否支持TouchID

NSError * error = nil;
    if ([context canEvaluatePolicy:LAPolicyDeviceOwnerAuthenticationWithBiometrics error:&error]) {
    ...

如果支持,则进行Touch ID认证

[context evaluatePolicy:LAPolicyDeviceOwnerAuthenticationWithBiometrics localizedReason:@"To login in" reply:^(BOOL success, NSError *error) {
            if (success) {
                //成功
            }else{
                   //失败
            }
}];   

其中,失败返回的Error一共有几种

  • LAErrorAuthenticationFailed - 指纹认证失败
  • LAErrorUserCancel - 用户取消认证(例如点击cancel)
  • LAErrorUserFallback - 用户取消(点击输入password)
  • LAErrorSystemCancel - 系统取消
  • LAErrorPasscodeNotSet - 系统没有设置密码
  • LAErrorTouchIDNotAvailable - 设备不支持TouchID
  • LAErrorTouchIDNotEnrolled - Touch ID没有设置(一个指纹没有)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值