IOS指紋/面容識別,TouchID/FaceID驗(yàn)證

你還在為開發(fā)TouchID/FaceID識別功能而去翻閱大量的文檔嗎?
使用YZAuthID僅需一個(gè)回調(diào)方法即可輕松實(shí)現(xiàn)指紋/面容ID的驗(yàn)證識別功能,該項(xiàng)目支持Pods便于項(xiàng)目構(gòu)建,可前往https://github.com/micyo202/YZAuthID下載源碼運(yùn)行查看效果。
認(rèn)證原理這里我就不多做闡述了,先來看一下示例效果圖:

指紋認(rèn)證界面
指紋認(rèn)證開始
指紋認(rèn)證失敗
面容認(rèn)證界面
面容認(rèn)證開始
面容認(rèn)證失敗

使用方法

1、引入
  • 使用CocoaPods方式:pod 'YZAuthID'
  • 手動引入方式:將YZAuthID文件夾下所有的文件拖入工程,在需要使用的地方引入#import "YZAuthID.h"頭文件即可
2、編碼

使用前記得在info.plist中增加NSFaceIDUsageDescription權(quán)限申請說明,否則無法使用FaceID。
代碼中只需調(diào)用yz_showAuthIDWithDescribe:block:一個(gè)方法即可實(shí)現(xiàn)全部功能,簡易實(shí)現(xiàn)代碼如下:

[[YZAuthID alloc] yz_showAuthIDWithDescribe:nil block:^(YZAuthIDState state, NSError *error) {
        
        if (state == YZAuthIDStateNotSupport) {
            NSLog(@"對不起,當(dāng)前設(shè)備不支持指紋/面部ID");
        } else if(state == YZAuthIDStateFail) {
            NSLog(@"指紋/面部ID不正確,認(rèn)證失敗");
        } else if(state == YZAuthIDStateTouchIDLockout) {
            NSLog(@"多次錯(cuò)誤,指紋/面部ID已被鎖定,請到手機(jī)解鎖界面輸入密碼");
        } else if (state == YZAuthIDStateSuccess) {
            NSLog(@"認(rèn)證成功!");
        }
        
    }];

返回YZAuthIDState各狀態(tài)值介紹描述,可根據(jù)需求進(jìn)行自行判斷處理:

    /**
     *  當(dāng)前設(shè)備不支持TouchID/FaceID
     */
    YZAuthIDStateNotSupport = 0,
    /**
     *  TouchID/FaceID 驗(yàn)證成功
     */
    YZAuthIDStateSuccess = 1,
    
    /**
     *  TouchID/FaceID 驗(yàn)證失敗
     */
    YZAuthIDStateFail = 2,
    /**
     *  TouchID/FaceID 被用戶手動取消
     */
    YZAuthIDStateUserCancel = 3,
    /**
     *  用戶不使用TouchID/FaceID,選擇手動輸入密碼
     */
    YZAuthIDStateInputPassword = 4,
    /**
     *  TouchID/FaceID 被系統(tǒng)取消 (如遇到來電,鎖屏,按了Home鍵等)
     */
    YZAuthIDStateSystemCancel = 5,
    /**
     *  TouchID/FaceID 無法啟動,因?yàn)橛脩魶]有設(shè)置密碼
     */
    YZAuthIDStatePasswordNotSet = 6,
    /**
     *  TouchID/FaceID 無法啟動,因?yàn)橛脩魶]有設(shè)置TouchID/FaceID
     */
    YZAuthIDStateTouchIDNotSet = 7,
    /**
     *  TouchID/FaceID 無效
     */
    YZAuthIDStateTouchIDNotAvailable = 8,
    /**
     *  TouchID/FaceID 被鎖定(連續(xù)多次驗(yàn)證TouchID/FaceID失敗,系統(tǒng)需要用戶手動輸入密碼)
     */
    YZAuthIDStateTouchIDLockout = 9,
    /**
     *  當(dāng)前軟件被掛起并取消了授權(quán) (如App進(jìn)入了后臺等)
     */
    YZAuthIDStateAppCancel = 10,
    /**
     *  當(dāng)前軟件被掛起并取消了授權(quán) (LAContext對象無效)
     */
    YZAuthIDStateInvalidContext = 11,
    /**
     *  系統(tǒng)版本不支持TouchID/FaceID (必須高于iOS 8.0才能使用)
     */
    YZAuthIDStateVersionNotSupport = 12

到此整個(gè)認(rèn)證過程就完成了,怎么樣?是不是很Easy?如果有什么疑問或更好的建議歡迎留言!

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

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

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