簡(jiǎn)單實(shí)現(xiàn)iOS指紋解鎖(TouchID)
本文實(shí)例為大家分享了iOS指紋解鎖的具體代碼,供大家參考,具體內(nèi)容如下
1、首先,引入依賴框架 LocalAuthentication.framework
#import <LocalAuthentication/LocalAuthentication.h>
2、然后,判斷系統(tǒng)是否為iOS8及以上
//iOS8.0后才支持指紋識(shí)別接口
if ([UIDevice currentDevice].systemVersion.floatValue < 8.0) {
return;
}
3、最后,在APP啟動(dòng)時(shí)調(diào)用以下方法即可完成指紋解鎖的全部功能集成
- (void)evaluateAuthenticate
{
//創(chuàng)建LAContext
LAContext* context = [[LAContext alloc] init];
NSError* error = nil;
NSString* result = @"請(qǐng)驗(yàn)證已有指紋";
//首先使用canEvaluatePolicy 判斷設(shè)備支持狀態(tài)
if ([context canEvaluatePolicy:LAPolicyDeviceOwnerAuthenticationWithBiometrics error:&error]) {
//支持指紋驗(yàn)證
[context evaluatePolicy:LAPolicyDeviceOwnerAuthenticationWithBiometrics localizedReason:result reply:^(BOOL success, NSError *error) {
if (success) {
//驗(yàn)證成功,主線程處理UI
}
else
{
NSLog(@"%@",error.localizedDescription);
switch (error.code) {
case LAErrorSystemCancel:
{
//系統(tǒng)取消授權(quán),如其他APP切入
break;
}
case LAErrorUserCancel:
{
//用戶取消驗(yàn)證Touch ID
break;
}
case LAErrorAuthenticationFailed:
{
//授權(quán)失敗
break;
}
case LAErrorPasscodeNotSet:
{
//系統(tǒng)未設(shè)置密碼
break;
}
case LAErrorTouchIDNotAvailable:
{
//設(shè)備Touch ID不可用,例如未打開
break;
}
case LAErrorTouchIDNotEnrolled:
{
//設(shè)備Touch ID不可用,用戶未錄入
break;
}
case LAErrorUserFallback:
{
[[NSOperationQueue mainQueue] addOperationWithBlock:^{
//用戶選擇輸入密碼,切換主線程處理
}];
break;
}
default:
{
[[NSOperationQueue mainQueue] addOperationWithBlock:^{
//其他情況,切換主線程處理
}];
break;
}
}
}
}];
}
else
{
//不支持指紋識(shí)別,LOG出錯(cuò)誤詳情
NSLog(@"不支持指紋識(shí)別");
switch (error.code) {
case LAErrorTouchIDNotEnrolled:
{
NSLog(@"TouchID is not enrolled");
break;
}
case LAErrorPasscodeNotSet:
{
NSLog(@"A passcode has not been set");
break;
}
default:
{
NSLog(@"TouchID not available");
break;
}
}
NSLog(@"%@",error.localizedDescription);
}
}
以上就是本文的全部內(nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- iOS 指紋解鎖驗(yàn)證TouchID功能
- iOS指紋驗(yàn)證TouchID應(yīng)用學(xué)習(xí)教程2
- iOS指紋驗(yàn)證TouchID應(yīng)用學(xué)習(xí)教程
- 淺析IOS開發(fā)TouchID指紋解鎖功能
- IOS 指紋識(shí)別詳解及實(shí)例代碼
- iOS中指紋識(shí)別常見問題匯總
- 使用Swift代碼實(shí)現(xiàn)iOS手勢(shì)解鎖、指紋解鎖實(shí)例詳解
- iOS中應(yīng)用內(nèi)添加指紋識(shí)別的實(shí)例代碼
- IOS 指紋識(shí)別兩種方式詳解及實(shí)例
- iOS指紋登錄(TouchID)集成方案詳解
相關(guān)文章
iOS中如何判斷當(dāng)前網(wǎng)絡(luò)環(huán)境是2G/3G/4G/5G/WiFi
這篇文章主要給大家介紹了關(guān)于iOS中如何判斷當(dāng)前網(wǎng)絡(luò)環(huán)境是2G/3G/4G/5G/WiFi的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)各位iOS開發(fā)者們具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧2019-07-07
iOS 微信分享功能簡(jiǎn)單實(shí)現(xiàn)
本文介紹了iOS 微信分享功能的實(shí)現(xiàn)步驟與方法,具有一定的參考作用。下面跟著小編一起來看下吧2017-01-01
IOS開發(fā)中使用writeToFile時(shí)的注意事項(xiàng)
本篇文章主要介紹了開發(fā)中使用writeToFile時(shí)的注意事項(xiàng),具有很好的參考價(jià)值。下面跟著小編一起來看下吧2017-03-03
使用objc runtime實(shí)現(xiàn)iOS閉環(huán)的懶加載功能
利用objc runtime的動(dòng)態(tài)性實(shí)現(xiàn)懶加載可以實(shí)現(xiàn)即可增加又可刪除功能,也可以避免污染類型。這篇文章主要介紹了使用objc runtime實(shí)現(xiàn)iOS閉環(huán)的懶加載功能,需要的朋友可以參考下2019-06-06
iOS CoreTelephony 實(shí)現(xiàn)監(jiān)聽通話狀態(tài)
這篇文章主要介紹了iOS CoreTelephony 實(shí)現(xiàn)監(jiān)聽通話狀態(tài) 的相關(guān)資料,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下2016-07-07
舉例講解iOS應(yīng)用開發(fā)中對(duì)設(shè)計(jì)模式中的策略模式的使用
這篇文章主要介紹了iOS應(yīng)用設(shè)計(jì)中對(duì)設(shè)計(jì)模式中的策略模式的使用,示例代碼為傳統(tǒng)的Objective-C語言,需要的朋友可以參考下2016-03-03
iOS 中根據(jù)屏幕寬度自適應(yīng)分布按鈕的實(shí)例代碼
這篇文章主要介紹了iOS 中根據(jù)屏幕寬度自適應(yīng)分布按鈕的實(shí)例代碼,本文給大家分享兩種方式,代碼簡(jiǎn)單易懂,需要的朋友可以參考下2016-11-11
iOS 使用UITextField自定義搜索框 實(shí)現(xiàn)用戶輸入完之后“實(shí)時(shí)搜索”功能
這篇文章主要介紹了iOS 使用UITextField自定義搜索框 實(shí)現(xiàn)用戶輸入完之后“實(shí)時(shí)搜索”功能,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-03-03

