1、首先捡硅,我們需要導(dǎo)入頭文件:
#import<LocalAuthentication/LocalAuthentication>.h
2秉继、接著祈噪,我們需要判斷我們的設(shè)備是否支持指紋識別(iPhone5s+,iOS8.0+)
接下來尚辑,判斷當(dāng)前用戶是否是機(jī)主即可辑鲤,完事,是不是so easy啊
OC
- (IBAction)biologyAction:(id)sender {
LAContext *context = [[LAContext alloc] init];
NSError *error = nil;
NSString *reason = @"我們需要驗(yàn)證您的指紋來確認(rèn)您的身份";
// 判斷設(shè)置是否支持指紋識別(iPhone5s+杠茬、iOS8+支持)
if([context canEvaluatePolicy:LAPolicyDeviceOwnerAuthenticationWithBiometrics error:&error]){
// 指紋識別只判斷當(dāng)前用戶是否是機(jī)主
[context evaluatePolicy:LAPolicyDeviceOwnerAuthenticationWithBiometrics localizedReason:reason reply:^(BOOL success, NSError * _Nullable error) {
if(success){
NSLog(@"指紋認(rèn)證成功");
}
else{
NSLog(@"指紋認(rèn)證失敗");
NSLog(@"錯(cuò)誤碼:%zd",error.code);
NSLog(@"出錯(cuò)信息:%@",error);
// 錯(cuò)誤碼 error.code
// -1: 連續(xù)三次指紋識別錯(cuò)誤
// -2: 在TouchID對話框中點(diǎn)擊了取消按鈕
// -3: 在TouchID對話框中點(diǎn)擊了輸入密碼按鈕
// -4: TouchID對話框被系統(tǒng)取消月褥,例如按下Home或者電源鍵
// -8: 連續(xù)五次指紋識別錯(cuò)誤,TouchID功能被鎖定瓢喉,下一次需要輸入系統(tǒng)密碼
}
}];
}
else{
NSLog(@"TouchID設(shè)備不可用");
NSLog(@"錯(cuò)誤碼:%zd",error.code);
NSLog(@"出錯(cuò)信息:%@",error);
}
}
下面貼出Swift3.0版對應(yīng)的代碼宁赤,原理就不說了,和上面的一樣栓票,只是將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 = "我們需要您的指紋來驗(yàn)證您的身份"
var error:NSError?
if context.canEvaluatePolicy(LAPolicy.deviceOwnerAuthenticationWithBiometrics, error:&error){
context.evaluatePolicy(LAPolicy.deviceOwnerAuthenticationWithBiometrics, localizedReason: reason, reply: { (isSuc, error) in
if isSuc{
print("指紋驗(yàn)證成功")
}
else{
print("指紋驗(yàn)證失敗")
print("錯(cuò)誤信息:\(error)")
// 錯(cuò)誤碼 error.code
// -1: 連續(xù)三次指紋識別錯(cuò)誤
// -2: 在TouchID對話框中點(diǎn)擊了取消按鈕
// -3: 在TouchID對話框中點(diǎn)擊了輸入密碼按鈕
// -4: TouchID對話框被系統(tǒng)取消,例如按下Home或者電源鍵
// -8: 連續(xù)五次指紋識別錯(cuò)誤走贪,TouchID功能被鎖定佛猛,下一次需要輸入系統(tǒng)密碼
}
})
}
else{
print("TouchID設(shè)置不支持")
print("錯(cuò)誤碼:\(error!.code)")
print("錯(cuò)誤信息:\(error)")
}
}
}
感謝閱讀,希望能幫助到大家厉斟,謝謝大家對本站的支持挚躯!