項目需要用到指紋識別,我把關鍵部分拿出來,代碼如下:
- 引入頭文件
#import <LocalAuthentication/LocalAuthentication.h>
- 指紋識別代碼
-(void)test
{
LAContext *context = [[LAContext alloc] init];
NSError *error = nil;
NSString *reason = @"我們需要驗證您的指紋來確認您的身份";
// 判斷設置是否支持指紋識別
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);
}
}
調用test方法,就可以看到app要求識別指紋的界面
要求指紋識別.PNG
如果識別失敗就會要求重新試一次
識別失敗.PNG
慣例把Demo上傳gitHub。