一、指紋識别
1、指紋識别介紹
iPhone 5S 開始有了指紋識别功能
ios8.0開始,蘋果開放了指紋識别的驗證接口:LocalAuthentication
2、調用機制
連續給3次機會,3次以後,會提示剩餘2次機會、密碼登入、取消指紋驗證
5次輸入錯誤,指紋識别彈框消失
![](https://img.laitimes.com/img/__Qf2AjLwojIjJCLyojI0JCLiQ3chVEa0V3bT9CX5RXa2Fmcn9CXwczLcVmds92czlGZvwVP9EUTDZ0aRJkSwk0LcxGbpZ2LcBDM08CXlpXazRnbvZ2LcRlMMVDT2EWNvwFdu9mZvwVPw0WZvR2MZZXUYpVd1kmYr50MZV3YyI2cKJDT29GRjBjUIF2LcRHelR3LcJzLctmch1mclRXY39DNyEzN0YTMyEjNwITM3EDMy8CX0Vmbu4GZzNmLn9Gbi1yZtl2Lc9CX6MHc0RHaiojIsJye.jpg)
第2次調用指紋識别,如上邏輯,若還未驗證通過,需要鎖屏啟用指紋識别
3、貼上代碼
- (void)touchesBegan:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event {
//1、判斷系統版本
if ([UIDevice currentDevice].systemVersion.floatValue >= ) {
// 可以使用指紋識别 -> 5s以後機型
//2、判斷機型是否支援指紋識别
//2.1、建立LA對象上下文
LAContext *context = [[LAContext alloc] init];
//2.2、判斷能否使用
/**
@param LAPolicy 評估
@return 政策
*/
if ([context canEvaluatePolicy:LAPolicyDeviceOwnerAuthenticationWithBiometrics error:nil]) {
//可以使用
//3、開啟使用指紋識别
/**
@param LAPolicy 可以使用指紋識别政策
@param localizedReason 提示使用者的資訊
*/
[context evaluatePolicy:LAPolicyDeviceOwnerAuthenticationWithBiometrics localizedReason:@"請把你的雞爪放在home鍵上驗證指紋" reply:^(BOOL success, NSError * _Nullable error) {
//判斷是否成功
if (success) {
NSLog(@"驗證成功");
dispatch_sync(dispatch_get_main_queue(), ^{
//在主線程中更新UI
});
} else {
NSLog(@"驗證失敗");
}
if (error) {
switch (error.code) {
case -:
NSLog(@"超出驗證次數限制,提示鎖屏,重新驗證!");
break;
case -:
NSLog(@"使用者點選了取消指紋驗證");
break;
case -:
NSLog(@"點選了密碼登入");
break;
case -:
NSLog(@"鎖屏功能被鎖定,請鎖屏手機,密碼登入啟用指紋識别!");
break;
default:
break;
}
}
}];
} else {
NSLog(@"對不起,5s以上機型才可以使用該功能");
}
} else {
NSLog(@"系統版本過低,無法使用指紋識别!");
}
}