原创Blog,转载请注明出处
blog.csdn.net/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没有设置(一个指纹没有)
时间: 2024-11-06 12:11:51