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)") } } }
感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!