你好,歡迎來到IOS教程網

 Ios教程網 >> IOS使用技巧 >> IOS技巧綜合 >> 指紋識別

指紋識別

編輯:IOS技巧綜合
[摘要]本文是對指紋識別的講解,對學習IOS蘋果軟件開發有所幫助,與大家分享。

現在,在要求安全與效率兼得的時候,普通密碼已不能滿足我們的要求,指紋識別就這樣誕生了。

每個人都有自己專屬的指紋,在需要支付等輸入密碼的地方,我們只需輕輕一按即可,避免了輸入密碼的繁瑣步驟,更加安全,而且媽媽再也不用擔心我們忘記密碼。

好了,不閒扯了,開始正題。

其實,聽著高大上,實現起來特別簡單,因為蘋果已經幫我們封裝好了,我們只需要簡單的調用就好了。

1、首先,我們需要導入頭文件:

#import <LocalAuthentication/LocalAuthentication.h>

2、接著,我們需要判斷我們的設備是否支持指紋識別(iPhone5s+,iOS8.0+)

接下來,判斷當前用戶是否是機主即可,完事,是不是so easy啊。

 1 - (IBAction)biologyAction:(id)sender {
 2     
 3     LAContext *context = [[LAContext alloc] init];
 4     NSError *error = nil;
 5     NSString *reason = @"我們需要驗證您的指紋來確認您的身份";
 6     
 7     // 判斷設置是否支持指紋識別(iPhone5s+、iOS8+支持)
 8     if([context canEvaluatePolicy:LAPolicyDeviceOwnerAuthenticationWithBiometrics error:&error]){
 9         
10         // 指紋識別只判斷當前用戶是否是機主
11         [context evaluatePolicy:LAPolicyDeviceOwnerAuthenticationWithBiometrics localizedReason:reason reply:^(BOOL success, NSError * _Nullable error) {
12             if(success){
13                 NSLog(@"指紋認證成功");
14             }
15             else{
16                 NSLog(@"指紋認證失敗");
17                 NSLog(@"錯誤碼:%zd",error.code);
18                 NSLog(@"出錯信息:%@",error);
19                 // 錯誤碼 error.code
20                 // -1: 連續三次指紋識別錯誤
21                 // -2: 在TouchID對話框中點擊了取消按鈕
22                 // -3: 在TouchID對話框中點擊了輸入密碼按鈕
23                 // -4: TouchID對話框被系統取消,例如按下Home或者電源鍵
24                 // -8: 連續五次指紋識別錯誤,TouchID功能被鎖定,下一次需要輸入系統密碼
25             }
26         }];
27     }
28     else{
29         NSLog(@"TouchID設備不可用");
30         NSLog(@"錯誤碼:%zd",error.code);
31         NSLog(@"出錯信息:%@",error);
32     }
33 }

下面貼出Swift3.0版對應的代碼,原理就不說了,和上面的一樣,只是將OC代碼翻譯成了Swift3.0版而已。

 1 import UIKit
 2 import LocalAuthentication
 3 
 4 class ViewController: UIViewController {
 5     
 6     override func viewDidLoad() {
 7         super.viewDidLoad()
 8     }
 9     
10     @IBAction func yanzhengAction(_ sender: AnyObject) {
11         
12         let context = LAContext()
13         let reason = "我們需要您的指紋來驗證您的身份"
14         var error:NSError?
15         
16         if context.canEvaluatePolicy(LAPolicy.deviceOwnerAuthenticationWithBiometrics, error:&error){
17             context.evaluatePolicy(LAPolicy.deviceOwnerAuthenticationWithBiometrics, localizedReason: reason, reply: { (isSuc, error) in
18                 if isSuc{
19                     print("指紋驗證成功")
20                 }
21                 else{
22                     print("指紋驗證失敗")
23                     print("錯誤信息:\(error)")
24                     // 錯誤碼 error.code
25                     // -1: 連續三次指紋識別錯誤
26                     // -2: 在TouchID對話框中點擊了取消按鈕
27                     // -3: 在TouchID對話框中點擊了輸入密碼按鈕
28                     // -4: TouchID對話框被系統取消,例如按下Home或者電源鍵
29                     // -8: 連續五次指紋識別錯誤,TouchID功能被鎖定,下一次需要輸入系統密碼
30                 }
31             })
32         }
33         else{
34             print("TouchID設置不支持")
35             print("錯誤碼:\(error!.code)")
36             print("錯誤信息:\(error)")
37         }
38     }
39 }
  1. 上一頁:
  2. 下一頁:
蘋果刷機越獄教程| IOS教程問題解答| IOS技巧綜合| IOS7技巧| IOS8教程
Copyright © Ios教程網 All Rights Reserved