iOS8之后蘋果發(fā)布了指紋識(shí)別的功能,通過(guò)touch ID來(lái)識(shí)別用戶,做用戶授權(quán),主要是依賴于LocalAuthentication庫(kù)
指紋識(shí)別:一判斷設(shè)備是否支持指紋識(shí)別功能
二識(shí)別指紋,成功后做相應(yīng)的動(dòng)作,失敗后提醒用戶指紋識(shí)別失敗
先引入#import <LocalAuthentication/LocalAuthentication.h>
LAContext *context = [[LAContext alloc] init]; NSError *error = nil; //驗(yàn)證是否支持指紋識(shí)別 if ([context canEvaluatePolicy:LAPolicyDeviceOwnerAuthenticationWithBiometrics error:&error]) { NSLog(@"支持指紋識(shí)別的應(yīng)用"); //驗(yàn)證身份 [context evaluatePolicy:LAPolicyDeviceOwnerAuthenticationWithBiometrics localizedReason:NSLocalizedString(@"需要指紋來(lái)驗(yàn)證你的身份", @"hello") reply:^(BOOL success, NSError *error) { if (success) { NSLog(@"成功"); } else { switch (error.code) { case LAErrorUserCancel: NSLog(@"用戶取消了授權(quán) - %@", error.localizedDescription); break; case LAErrorUserFallback: NSLog(@"用戶點(diǎn)擊了“輸入密碼”按鈕 - %@", error.localizedDescription); break; case LAErrorAuthenticationFailed: NSLog(@"您已授權(quán)失敗3次 - %@", error.localizedDescription); break; case LAErrorTouchIDLockout: NSLog(@"指紋被鎖定 - %@", error.localizedDescription); break; case LAErrorSystemCancel: NSLog(@"應(yīng)用程序進(jìn)入后臺(tái) - %@", error.localizedDescription); break; default: NSLog(@"++%@--%zd", error.localizedDescription, error.code); break; } } }]; } else { switch (error.code) { case LAErrorPasscodeNotSet: NSLog(@"未設(shè)置密碼 - %@", error.localizedDescription); break; case LAErrorTouchIDNotEnrolled: NSLog(@"未注冊(cè) Touch ID - %@", error.localizedDescription); break; case kLAErrorTouchIDNotAvailable: NSLog(@"該設(shè)備不支持 Touch ID - %@", error.localizedDescription); break; default: NSLog(@"--%@--%zd", error.localizedDescription, error.code); break; } }
新聞熱點(diǎn)
疑難解答
圖片精選
網(wǎng)友關(guān)注