iOS Touch ID指紋識別技術簡介

這篇文章主要爲大家詳細介紹了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

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持神馬文庫。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章