iOS中應(yīng)用內(nèi)添加指紋識(shí)別的實(shí)例代碼
iOS8之后蘋(píng)果發(fā)布了指紋識(shí)別的功能,通過(guò)touch ID來(lái)識(shí)別用戶(hù),做用戶(hù)授權(quán),主要是依賴(lài)于LocalAuthentication庫(kù)
指紋識(shí)別:一判斷設(shè)備是否支持指紋識(shí)別功能
二識(shí)別指紋,成功后做相應(yīng)的動(dòng)作,失敗后提醒用戶(hù)指紋識(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(@"用戶(hù)取消了授權(quán) - %@", error.localizedDescription);
break;
case LAErrorUserFallback:
NSLog(@"用戶(hù)點(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;
}
}
相關(guān)文章
iOS實(shí)現(xiàn)APP程序內(nèi)部打開(kāi)APP的AppStore頁(yè)面
這篇文章主要給大家介紹了關(guān)于iOS實(shí)現(xiàn)APP程序內(nèi)部打開(kāi)APP的AppStore頁(yè)面的相關(guān)資料,文中介紹的非常詳細(xì),對(duì)大家具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面跟著小編一起來(lái)看看吧。2017-06-06
Apple?Watch?App?Lifecycle應(yīng)用開(kāi)發(fā)
這篇文章主要為大家介紹了Apple?Watch?App?Lifecycle應(yīng)用開(kāi)發(fā)示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-10-10
IOS中無(wú)限滾動(dòng)Scrollview效果
這篇文章主要為大家詳細(xì)介紹了IOS中無(wú)限滾動(dòng)Scrollview效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-02-02
iOS 實(shí)現(xiàn)簡(jiǎn)單的加載等待動(dòng)畫(huà)示例(思路與實(shí)現(xiàn))
本篇文章主要介紹了iOS 實(shí)現(xiàn)簡(jiǎn)單的加載等待動(dòng)畫(huà)示例(思路與實(shí)現(xiàn)),小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-05-05
iOS開(kāi)發(fā)中簡(jiǎn)單實(shí)用的幾個(gè)小技巧
大家可能都知道,在開(kāi)發(fā)過(guò)程中我們總會(huì)遇到各種各樣的小問(wèn)題,有些小問(wèn)題并不是十分容易解決。在此我就總結(jié)一下,我在開(kāi)發(fā)中遇到的各種小問(wèn)題,以及我的解決方法,也算是些小技巧吧,分享給大家,方便大家在iOS開(kāi)發(fā)的時(shí)候能夠參考借鑒,下面有需要的朋友一起來(lái)看看吧。2016-11-11
IOS實(shí)現(xiàn)的簡(jiǎn)單畫(huà)板功能
本文主要介紹了IOS實(shí)現(xiàn)簡(jiǎn)單畫(huà)板的示例代碼。具有很好的參考價(jià)值。下面跟著小編一起來(lái)看下吧2017-04-04
NSURLSession跨域重定向透?jìng)鱄TTP Header問(wèn)題解決
這篇文章主要為大家介紹了NSURLSession跨域重定向透?jìng)鱄TTP Header問(wèn)題解決方案,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-11-11

