iOS Touch ID指纹识别技术简介

释放双眼,带上耳机,听听看~!

Touch ID简介:

苹果公司在iPhone 5S手机中推出了指纹识别功能,提高手机安全性的同时也方便了用户操作。其功能是通过Touch ID实现的,从iOS 8系统开始,苹果开发一些Touch ID的API使得开发人员可以在自己的应用程序中调用指纹识别功能。

Touch ID功能就是指纹识别密码。使用指纹识别功能需要先进入设置—Touch ID 与密码中根据提示添加指纹。

从iOS 8系统开始开放了Touch ID的验证接口功能,在应用程序中可以判断输入的Touch ID是否设置持有者的Touch ID。

Touch ID使用:

创建一个iOS工程项目。           

打开工程的General — Linked Frameworks and Libraries面板,单机“+”按钮添加“LocalAuthentication.framework”框架,如图26-1所示。

编写程序时导入“LocalAuthentication.framework”框架的头文件:#import <LocalAuthentication/LocalAuthentication.h>。

写了一个简单的测试Touch ID的例子,效果图如下:(若图片不清楚可右键将图片保存本地再放大看)

下面贴上代码:

#import <UIKit/UIKit.h>
@interface HWTouchIDTestVC : UIViewController
@end
#import "HWTouchIDTestVC.h"
#import <LocalAuthentication/LocalAuthentication.h>
@interface HWTouchIDTestVC ()
@property (nonatomic, weak) UILabel *label;
@end
@implementation HWTouchIDTestVC
- (void)viewDidLoad {
[super viewDidLoad];
self.view.backgroundColor = [UIColor blackColor];
//创建控件
[self creatControl];
}
- (void)creatControl
{
//测试按钮
UIButton *btn = [[UIButton alloc] initWithFrame:CGRectMake(50, 200, 120, 50)];
btn.backgroundColor = [UIColor orangeColor];
[btn setTitle:@"测试按钮" forState:UIControlStateNormal];
[btn addTarget:self action:@selector(btnOnClick) forControlEvents:UIControlEventTouchUpInside];
[self.view addSubview:btn];
//提示标签
UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(220, 200, 120, 50)];
label.text = @"测试标签";
label.textAlignment = NSTextAlignmentCenter;
label.backgroundColor = [UIColor yellowColor];
[self.view addSubview:label];
self.label = label;
}
- (void)btnOnClick
{
//初始化
LAContext *context = [[LAContext alloc] init];
NSError *error = nil;
//显示的文字
NSString *str = @"指纹验证";
//判断是否能进行验证
if ([context canEvaluatePolicy:LAPolicyDeviceOwnerAuthenticationWithBiometrics error:&error]) {
[context evaluatePolicy:LAPolicyDeviceOwnerAuthenticationWithBiometrics localizedReason:str reply:^(BOOL success, NSError * _Nullable error) {
if (success) {
NSLog(@"验证成功");
dispatch_async(dispatch_get_main_queue(), ^{
self.label.text = @"验证成功";
self.label.backgroundColor = [UIColor greenColor];
});
}else {
NSLog(@"验证失败,error:%@", error);
dispatch_async(dispatch_get_main_queue(), ^{
self.label.text = @"验证失败";
self.label.backgroundColor = [UIColor redColor];
});
}
}];
}else {
NSLog(@"无法验证指纹,error: %@", error);
self.label.text = @"无法验证";
}
}
@end

人已赞赏
iOS文章

iOS UIScrollView实用之图片轮播

2020-2-23 16:55:16

iOS文章

iOS 弹窗UIAlertView、UIActionSheet、UIAlertController简述

2020-2-23 18:11:17

个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
有新消息 消息中心
搜索