你好,歡迎來到IOS教程網

 Ios教程網 >> IOS編程開發 >> IOS開發綜合 >> IOS 指紋識別詳解及實例代碼

IOS 指紋識別詳解及實例代碼

編輯:IOS開發綜合

IOS 指紋識別,這裡整理下項目中用的知識。

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

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

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

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

#import <LocalAuthentication/LocalAuthentication.h>

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

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

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

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

import UIKit
import LocalAuthentication

class ViewController: UIViewController {
  
  override func viewDidLoad() {
    super.viewDidLoad()
  }
  
  @IBAction func yanzhengAction(_ sender: AnyObject) {
    
    let context = LAContext()
    let reason = "我們需要您的指紋來驗證您的身份"
    var error:NSError?
    
    if context.canEvaluatePolicy(LAPolicy.deviceOwnerAuthenticationWithBiometrics, error:&error){
      context.evaluatePolicy(LAPolicy.deviceOwnerAuthenticationWithBiometrics, localizedReason: reason, reply: { (isSuc, error) in
        if isSuc{
          print("指紋驗證成功")
        }
        else{
          print("指紋驗證失敗")
          print("錯誤信息:\(error)")
          // 錯誤碼 error.code
          // -1: 連續三次指紋識別錯誤
          // -2: 在TouchID對話框中點擊了取消按鈕
          // -3: 在TouchID對話框中點擊了輸入密碼按鈕
          // -4: TouchID對話框被系統取消,例如按下Home或者電源鍵
          // -8: 連續五次指紋識別錯誤,TouchID功能被鎖定,下一次需要輸入系統密碼
        }
      })
    }
    else{
      print("TouchID設置不支持")
      print("錯誤碼:\(error!.code)")
      print("錯誤信息:\(error)")
    }
  }
}

感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!

  1. 上一頁:
  2. 下一頁:
蘋果刷機越獄教程| IOS教程問題解答| IOS技巧綜合| IOS7技巧| IOS8教程
Copyright © Ios教程網 All Rights Reserved