iOS指紋識(shí)別

生活中移動(dòng)端APP應(yīng)用是越來(lái)越廣泛,為了提高安全效率,例如支付APP、銀行APP都集成了指紋、手勢(shì)等二次驗(yàn)證功能。今天給大家分享一下指紋識(shí)別集成到APP的具體實(shí)現(xiàn)功能。

指紋識(shí)別基于Core OS層LocalAuthentication框架,iOS8的時(shí)候已經(jīng)開(kāi)始應(yīng)用,LocalAuthentication框架是用來(lái)實(shí)現(xiàn)iOS中指紋識(shí)別的,指定安全策略的用戶請(qǐng)求身份的驗(yàn)證工具,自iPhone5s加入touchID后,指紋安全策略已廣泛推廣。項(xiàng)目中如何使用?首先我們要在項(xiàng)目中引入頭文件如下圖

頭文件

使用的方法如下:

- (BOOL)canEvaluatePolicy:(LAPolicy)policy?error:(NSError?*?__autoreleasing?*)error __attribute__((swift_error(none)));此方法是判斷設(shè)備是否具有指紋識(shí)別的功能也就是touchID是否可用,返回的是一個(gè)bool值。

-(void)evaluatePolicy:(LAPolicy)policylocalizedReason:(NSString*)localizedReason??reply:(void(^)(BOOL?success,?NSError?*?__nullable?error))reply;此方法是對(duì)設(shè)備是否支持指紋識(shí)別進(jìn)行驗(yàn)證。此方法有設(shè)有三個(gè)參數(shù),policy:LAPolicy是一個(gè)枚舉類(lèi)型,有兩個(gè)枚舉類(lèi)型(LAPolicyDeviceOwnerAuthenticationWithBiometrics,LAPolicyDeviceOwnerAuthentication),其中LAPolicyDeviceOwnerAuthenticationWithBiometrics的意思是說(shuō)明用指紋去驗(yàn)證,LAPolicyDeviceOwnerAuthentication的意思是使用驗(yàn)證密碼或者touchID,識(shí)別錯(cuò)誤2次時(shí)會(huì)彈出提示密碼輸入;localizedReason驗(yàn)證說(shuō)明,是一個(gè)NSString類(lèi)型的;reply:它是一個(gè)block回調(diào)函數(shù),block里面有一個(gè)BOOL類(lèi)型的值success是用來(lái)判斷返回驗(yàn)證是否成功,NSError類(lèi)型的值error是用來(lái)返回code錯(cuò)誤信息的。錯(cuò)誤信息枚舉:

LAErrorAuthenticationFailed(授權(quán)失敗),LAErrorUserCancel(用戶取消驗(yàn)證touchID),LAErrorUserFallback(用戶失敗選擇密碼驗(yàn)證),

LAErrorSystemCancel(系統(tǒng)取消授權(quán)),LAErrorPasscodeNotSet(設(shè)備未設(shè)置密碼),LAErrorTouchIDNotAvailable(設(shè)備未設(shè)置touchID),

LAErrorTouchIDNotEnrolled(用戶未錄用指紋),LAErrorTouchIDLockout(touchID被鎖,需要用戶密碼解鎖),

LAErrorAppCancel(認(rèn)證應(yīng)用被取消),LAErrorInvalidContext(

授權(quán)對(duì)象失效),LAErrorNotInteractive(APP未完全啟動(dòng),調(diào)用失敗)。

????????以上兩個(gè)方法的調(diào)用需要實(shí)例化LAContext對(duì)象(LAContext?*context =[LAContextnew];)。LAContext對(duì)象有幾個(gè)屬性值分別是:

localizedFallbackTitle(指紋驗(yàn)證失敗之后彈出框的選項(xiàng));

localizedCancelTitle(設(shè)置驗(yàn)證時(shí)取消按鈕標(biāo)題);

maxBiometryFailures(設(shè)置指紋驗(yàn)證錯(cuò)誤次數(shù));

evaluatedPolicyDomainState(檢測(cè)指紋庫(kù)變化);

touchIDAuthenticationAllowableReuseDuration(設(shè)置指紋開(kāi)啟時(shí)間間隔,錯(cuò)過(guò)時(shí)間需要重新驗(yàn)證)。

主要識(shí)別代碼如下圖所示:

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

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

  • 指紋識(shí)別: iPhone5S開(kāi)始,推出指紋識(shí)別 iOS8.0之后蘋(píng)果允許第三方 App 使用 Touch ID進(jìn)行...
    a437e8f87a81閱讀 1,456評(píng)論 0 17
  • iOS 8.0 & iPhone5s以后 蘋(píng)果開(kāi)發(fā)了touchID ,開(kāi)發(fā)者能夠使用指紋識(shí)別 首先倒入頭文件 #i...
    Poison_19ce閱讀 611評(píng)論 0 1
  • 項(xiàng)目需要用到指紋識(shí)別,我把關(guān)鍵部分拿出來(lái),代碼如下: 引入頭文件 指紋識(shí)別代碼 調(diào)用test方法,就可以看到app...
    Hardy_Hu閱讀 613評(píng)論 2 3
  • 簡(jiǎn)述: 在類(lèi)似支付寶為首的應(yīng)用以及各種理財(cái)?shù)壬婕板X(qián)財(cái)對(duì)安全性要求較高的應(yīng)用中,目前普遍對(duì)關(guān)鍵數(shù)據(jù)都做了安全訪問(wèn)限制...
    C_HPY閱讀 3,194評(píng)論 0 18
  • 上開(kāi)三四 →一零,二二,三四,四六 →零,二,四,六 (一,三,五,七)→狗猴馬龍 (二,四,六,八)→雞羊蛇兔 ...
    微風(fēng)哥閱讀 308評(píng)論 0 2

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