前言:從iOS 8.0之後,Apple 開放了App使用Touch ID來認證。但是有幾點要注意:
App只是把認證的過程代理給iOS系統了,並不能獲得指紋的具體信息 不要試圖把指紋信息和其他的數據庫比較,在我寫的這天還是不可能的。開始驗證
驗證失敗
如何使用
導入使用的framework
#import
初始化一個LAContext
LAContext * context = [[LAContext alloc] init];
檢查當前設備是否支持TouchID
NSError * error = nil;
if ([context canEvaluatePolicy:LAPolicyDeviceOwnerAuthenticationWithBiometrics error:&error]) {
...
}
如果支持,則進行Touch ID認證
[context evaluatePolicy:LAPolicyDeviceOwnerAuthenticationWithBiometrics localizedReason:@To login in reply:^(BOOL success, NSError *error) {
if (success) {
//成功
}else{
//失敗
}
}];
其中,失敗返回的Error一共有幾種
LAErrorAuthenticationFailed - 指紋認證失敗 LAErrorUserCancel - 用戶取消認證(例如點擊cancel) LAErrorUserFallback - 用戶取消(點擊輸入password) LAErrorSystemCancel - 系統取消 LAErrorPasscodeNotSet - 系統沒有設置密碼 LAErrorTouchIDNotAvailable - 設備不支持TouchID LAErrorTouchIDNotEnrolled - Touch ID沒有設置(一個指紋沒有)