iOS:Touch ID簡易開發(fā)教程-仿alipay

效果圖

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)證失敗

源碼下載

github源碼下載

文/Monkey_ALin(簡書作者)

原文鏈接:http://www.itdecent.cn/p/1d0e5c43b44d

著作權(quán)歸作者所有,轉(zhuǎn)載請聯(lián)系作者獲得授權(quán),并標(biāo)注“簡書作者”。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容