效果圖

touch_ID效果圖
前言
2013年9月,蘋果為當(dāng)時(shí)發(fā)布的最新iPhone產(chǎn)品配備了一系列硬件升級方案。在iPhone 5s當(dāng)中,最具創(chuàng)新特性的機(jī)制無疑要數(shù)圍繞Home按鈕設(shè)計(jì)的超薄金屬圈,也就是被稱為Touch ID的指紋傳感器。這套Local Authentication框架能夠輕松實(shí)現(xiàn)用戶身份驗(yàn)證,大家可以利用它來完成應(yīng)用程序的登錄機(jī)制或者通過它保護(hù)應(yīng)用程序當(dāng)中的敏感數(shù)據(jù)。
教程
1.導(dǎo)入對應(yīng)的框架頭文件
剛才我們說到,Touch ID指紋傳感器所屬Local Authentication框架.所以,第一步,我們需要導(dǎo)入頭文件
#import
2.判斷設(shè)置是否支持Touch ID 或者 本機(jī)是否已經(jīng)錄入指紋
這里我們需要使用到LAContext類,LAContext就是Touch ID
2016.3.14 一個(gè)小補(bǔ)充, 之前有朋友給我留言和在我QQ上問我, 如果點(diǎn)擊了輸入密碼,怎么調(diào)用系統(tǒng)的密碼框.其實(shí)很簡單,把下面代碼的LAPolicyDeviceOwnerAuthenticationWithBiometrics改成LAPolicyDeviceOwnerAuthentication即可.點(diǎn)進(jìn)頭文件看一下,就了然了...
if([context canEvaluatePolicy:LAPolicyDeviceOwnerAuthenticationWithBiometrics error:&error]) {// 進(jìn)行指紋驗(yàn)證操作,請看第三步}else{if(self.isSimulator) {// 判斷是否是模擬器Simulator[[[UIAlertViewalloc] initWithTitle:@"提示"message:@"請用真機(jī)測試~"delegate:nilcancelButtonTitle:@"好的"otherButtonTitles:nil,nil] show];? ? ? ? }else{// 不支持Touch ID操作[[[UIAlertViewalloc] initWithTitle:@"提示"message:@"不支持Touch ID~"delegate:nilcancelButtonTitle:@"好的"otherButtonTitles:nil,nil] show];? ? ? ? }? ? }
tip: 判斷當(dāng)前設(shè)置是否是模擬器Simulator
- (BOOL)isSimulator{structutsname systemInfo;? ? uname(&systemInfo);NSString*deviceMachine = [NSStringstringWithCString:systemInfo.machineencoding:NSUTF8StringEncoding];if([deviceMachine isEqualToString:@"i386"] || [deviceMachine isEqualToString:@"x86_64"])? ? ? {returnYES;? ? }returnNO;}
3.Touch ID指紋驗(yàn)證
[contextevaluatePolicy:LAPolicyDeviceOwnerAuthenticationWithBiometrics localizedReason:@"請驗(yàn)證已有指紋"reply:^(BOOLsuccess, NSError * _Nullable error){? ? ? ? ? ? if(error){? ? ? ? ? ? ? ? NSLog(@"驗(yàn)證失敗"); // 系統(tǒng)會(huì)自動(dòng)給錯(cuò)誤提示}else{? ? ? ? ? ? ? ? dispatch_async(dispatch_get_main_queue(), ^{? ? ? ? ? ? ? ? ? ? // 驗(yàn)證成功,進(jìn)行相關(guān)操作? ? ? ? ? ? ? ? });}? ? ? ? }];
PS:如果驗(yàn)證失敗的話,系統(tǒng)會(huì)給出相應(yīng)的提示,如圖

驗(yàn)證失敗
源碼下載
文/Monkey_ALin(簡書作者)
原文鏈接:http://www.itdecent.cn/p/1d0e5c43b44d
著作權(quán)歸作者所有,轉(zhuǎn)載請聯(lián)系作者獲得授權(quán),并標(biāo)注“簡書作者”。