Touch ID使用詳細分解

由于最近要使用指紋解鎖app一铅,就暫且了解了一下陕贮,注釋非常詳細。需要注意的是在successBlock里面代碼是后臺線程執(zhí)行的潘飘。

如果需要放在主線程肮之,可添加到主線程上執(zhí)行:

1掉缺、點擊屏幕,彈出Touch ID框

- (void)touchesBegan:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event
{
    // ios8.0以上 iphone5s之后才有touchID功能
    [self authenticateUser];

}

2戈擒、實現(xiàn)方法

- (void)authenticateUser
{
    //初始化上下文對象
    LAContext* context = [[LAContext alloc] init];
    
    //localizedFallbackTitle設(shè)置為@""代表指紋輸錯不會出現(xiàn)右側(cè)“輸入密碼”字樣
    context.localizedFallbackTitle = @"";

    //錯誤對象
    NSError* error = nil;
    NSString* result = @"xxx利用你的Touch ID解鎖";
    
    //首先使用canEvaluatePolicy 判斷設(shè)備是否支持Touch ID的狀態(tài)
    if ([context canEvaluatePolicy:LAPolicyDeviceOwnerAuthenticationWithBiometrics error:&error]) { // 主線程
        //支持指紋驗證
        [context evaluatePolicy:LAPolicyDeviceOwnerAuthenticationWithBiometrics localizedReason:result reply:^(BOOL success, NSError \*error) {
#warning 后臺線程
            if (success) {
                //驗證成功眶明,后臺線程
                NSLog(@"驗證成功");
            }
            else
            {
                switch (error.code) {
                    case LAErrorSystemCancel:
                    {
                        //切換到其他APP搜囱,系統(tǒng)取消驗證Touch ID 其他app切入
                        NSLog(@"切換到其他APP柑土,系統(tǒng)取消驗證Touch ID 其他app切入Authentication was cancelled by the system"); 
                        break;
                    }
                    case LAErrorAppCancel:
                    {
                        NSLog(@"用戶不能控制的掛起 比如打電話");
                        break;
                    }
                    case LAErrorUserCancel:
                    {
                        //用戶取消驗證Touch ID
                        NSLog(@"用戶取消驗證Touch IDAuthentication was cancelled by the user"); 
                        break;
                    }
                    case LAErrorUserFallback:
                    {
                        NSLog(@"用戶選擇輸入密碼,切換主線程處理User selected to enter custom password");
                        [[NSOperationQueue mainQueue] addOperationWithBlock:^{
                            //用戶選擇輸入密碼幌缝,切換主線程處理
                        }];
                        break;
                    }
                    case LAErrorTouchIDLockout:
                    {
                       NSLog(@"多次TouchID失敗 Touch ID被鎖");// 輸入多次不正確 執(zhí)行代碼
                        break;
                    }
                    case LAErrorInvalidContext:
                    {
                        NSLog(@"LAContext對象被釋放掉了诫欠,造成的授權(quán)失敗");
                        break;
                    }
                    default:
                    {
                        [[NSOperationQueue mainQueue] addOperationWithBlock:^{
                            //其他情況,切換主線程處理
                        }];
                        break;
                    }
                }
                NSLog(@"%@",error.localizedDescription);
            }
        }];
    }
    else{ //不支持指紋識別轿偎,LOG出錯誤詳情被廓。比如設(shè)備不支持或者指紋沒開啟(指紋沒開啟也包括輸入錯誤多次被鎖定Touch ID)
         #warning 主線程
        switch (error.code) {
            case LAErrorTouchIDNotEnrolled:
            {
                // 設(shè)備Touch ID不可用 用戶未錄入
                NSLog(@"設(shè)備Touch ID不可用 用戶未錄入TouchID is not enrolled"); 
                break;
            }
            case LAErrorPasscodeNotSet:
            {
                // 系統(tǒng)未設(shè)置密碼
                NSLog(@"系統(tǒng)未設(shè)置密碼A passcode has not been set");
                break;
            }
            case LAErrorTouchIDNotAvailable:
            {
                // 設(shè)備Touch ID不可用,例如未打開
                NSLog(@"設(shè)備Touch ID不可用嫁乘,例如未打開A passcode has not been set");
                break;
            }
            default:
            {
                // Touch ID被鎖定之后,點擊屏幕跳到這里
                NSLog(@"TouchID not available");
                break;
            }
        }
        
        NSLog(@"%@",error.localizedDescription);
    }
}
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末仓蛆,一起剝皮案震驚了整個濱河市挎春,隨后出現(xiàn)的幾起案子看疙,更是在濱河造成了極大的恐慌能庆,老刑警劉巖,帶你破解...
    沈念sama閱讀 221,695評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件搁胆,死亡現(xiàn)場離奇詭異,居然都是意外死亡拓巧,警方通過查閱死者的電腦和手機一死,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,569評論 3 399
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來承耿,“玉大人,你說我怎么就攤上這事加袋。” “怎么了抱既?”我有些...
    開封第一講書人閱讀 168,130評論 0 360
  • 文/不壞的土叔 我叫張陵,是天一觀的道長防泵。 經(jīng)常有香客問我,道長捷泞,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 59,648評論 1 297
  • 正文 為了忘掉前任失受,我火速辦了婚禮咏瑟,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘响蕴。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 68,655評論 6 397
  • 文/花漫 我一把揭開白布辜王。 她就那樣靜靜地躺著,像睡著了一般肥缔。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上续膳,一...
    開封第一講書人閱讀 52,268評論 1 309
  • 那天,我揣著相機與錄音坟岔,去河邊找鬼。 笑死社付,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的燕鸽。 我是一名探鬼主播,決...
    沈念sama閱讀 40,835評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼啊研,長吁一口氣:“原來是場噩夢啊……” “哼党远!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起麸锉,我...
    開封第一講書人閱讀 39,740評論 0 276
  • 序言:老撾萬榮一對情侶失蹤舆声,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后媳握,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,286評論 1 318
  • 正文 獨居荒郊野嶺守林人離奇死亡娩脾,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,375評論 3 340
  • 正文 我和宋清朗相戀三年柿赊,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片碰声。...
    茶點故事閱讀 40,505評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡熬甫,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出瞻颂,到底是詐尸還是另有隱情,我是刑警寧澤贡这,帶...
    沈念sama閱讀 36,185評論 5 350
  • 正文 年R本政府宣布,位于F島的核電站团南,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏吐根。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,873評論 3 333
  • 文/蒙蒙 一拷橘、第九天 我趴在偏房一處隱蔽的房頂上張望喜爷。 院中可真熱鬧,春花似錦檩帐、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,357評論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽拔妥。三九已至达箍,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間缎玫,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,466評論 1 272
  • 我被黑心中介騙來泰國打工咬摇, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 48,921評論 3 376
  • 正文 我出身青樓,卻偏偏與公主長得像在扰,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子芒珠,可洞房花燭夜當晚...
    茶點故事閱讀 45,515評論 2 359

推薦閱讀更多精彩內(nèi)容

  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 172,285評論 25 707
  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理皱卓,服務(wù)發(fā)現(xiàn)部逮,斷路器,智...
    卡卡羅2017閱讀 134,701評論 18 139
  • 引用類型有哪些掐禁?非引用類型? 基本類型Number颅和、String、Boolean峡扩、Null、Undefined 引...
    白柏更好閱讀 265評論 0 0
  • 世界好安靜响鹃,感覺自己無意進入一個滑道。一不小心滑了好遠茴迁。 身邊的人越來越少。偶爾有朋友來串門兒堕义。可是其它所有的時間...
    LOVE玲媛閱讀 94評論 0 0
  • 他,一身鎧甲秦踪,英姿颯爽掸茅,卻因耿直性情被貶洛陽; 她柠逞,一身白衣,溫婉動人板壮,只因唯心卻被家族唾棄。 還記得那年城郊花開...
    柒沐楓閱讀 277評論 0 0