首页 > 系统 > iOS > 正文

iOS Touch ID指纹识别技术简介

2020-07-26 02:20:08
字体:
来源:转载
供稿:网友

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

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持武林网。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表