效果圖

touch_ID效果圖
前言
2013年9月,蘋(píng)果為當(dāng)時(shí)發(fā)布的最新iPhone產(chǎn)品配備了一系列硬件升級(jí)方案。在iPhone 5s當(dāng)中,最具創(chuàng)新特性的機(jī)制無(wú)疑要數(shù)圍繞Home按鈕設(shè)計(jì)的超薄金屬圈,也就是被稱(chēng)為T(mén)ouch ID的指紋傳感器。這套Local Authentication框架能夠輕松實(shí)現(xiàn)用戶身份驗(yàn)證,大家可以利用它來(lái)完成應(yīng)用程序的登錄機(jī)制或者通過(guò)它保護(hù)應(yīng)用程序當(dāng)中的敏感數(shù)據(jù)。
教程
1.導(dǎo)入對(duì)應(yīng)的框架頭文件
剛才我們說(shuō)到,Touch ID指紋傳感器所屬Local Authentication框架.所以,第一步,我們需要導(dǎo)入頭文件
#import <LocalAuthentication/LocalAuthentication.h>
2.判斷設(shè)置是否支持Touch ID 或者 本機(jī)是否已經(jīng)錄入指紋
這里我們需要使用到LAContext類(lèi),LAContext就是Touch ID
- 2016.3.14 一個(gè)小補(bǔ)充, 之前有朋友給我留言和在我QQ上問(wèn)我, 如果點(diǎn)擊了輸入密碼,怎么調(diào)用系統(tǒng)的密碼框.其實(shí)很簡(jiǎn)單,把下面代碼的LAPolicyDeviceOwnerAuthenticationWithBiometrics改成LAPolicyDeviceOwnerAuthentication即可.點(diǎn)進(jìn)頭文件看一下,就了然了...
if ([context canEvaluatePolicy:LAPolicyDeviceOwnerAuthenticationWithBiometrics error:&error]) {
// 進(jìn)行指紋驗(yàn)證操作,請(qǐng)看第三步
}else {
if (self.isSimulator) { // 判斷是否是模擬器Simulator
[[[UIAlertView alloc] initWithTitle:@"提示" message:@"請(qǐng)用真機(jī)測(cè)試~" delegate:nil cancelButtonTitle:@"好的" otherButtonTitles:nil, nil] show];
}else{ // 不支持Touch ID操作
[[[UIAlertView alloc] initWithTitle:@"提示" message:@"不支持Touch ID~" delegate:nil cancelButtonTitle:@"好的" otherButtonTitles:nil, nil] show];
}
}
tip: 判斷當(dāng)前設(shè)置是否是模擬器Simulator
- (BOOL)isSimulator{
struct utsname systemInfo;
uname(&systemInfo);
NSString *deviceMachine = [NSString stringWithCString:systemInfo.machine encoding:NSUTF8StringEncoding];
if ([deviceMachine isEqualToString:@"i386"] || [deviceMachine isEqualToString:@"x86_64"]) {
return YES;
}
return NO;
}
3.Touch ID指紋驗(yàn)證
[context evaluatePolicy:LAPolicyDeviceOwnerAuthenticationWithBiometrics localizedReason:@"請(qǐng)驗(yàn)證已有指紋" reply:^(BOOL success, 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)證失敗
源碼下載
<a >github源碼下載</a>
聯(lián)系我
<a >github</a>
<a >微博</a>
<a href="http://www.itdecent.cn/users/9723687edfb5/latest_articles">簡(jiǎn)書(shū)</a>