接入TouchID

首先import要用的庫<LocalAuthentication/LocalAuthentication.h>

主要認準兩個方法,一個是判斷是否支持TouchID的方法:

- (BOOL)canEvaluatePolicy:(LAPolicy)policy error:(NSError * __autoreleasing *)error __attribute__((swift_error(none)));

另一個方法是調起TouchID:

- (void)evaluatePolicy:(LAPolicy)policy
 localizedReason:(NSString *)localizedReason
 reply:(void(^)(BOOL success, NSError * __nullable error))reply;

只要能看明白這兩個方法,基本上就沒問題了。

下面看一下怎麼用:

 LAContext *context = [LAContext new];
 context.localizedCancelTitle = @"取消";
 context.localizedFallbackTitle = @"返回";
 if ([context canEvaluatePolicy:LAPolicyDeviceOwnerAuthentication error:nil]) {//判斷是否支持touchID
 [context evaluatePolicy:LAPolicyDeviceOwnerAuthenticationWithBiometrics
 localizedReason:@"我們要驗證指紋"
 reply:^(BOOL success, NSError * _Nullable error) {
 if (success) {
 [self performSelectorOnMainThread:@selector(btnTouchIDHide) withObject:nil waitUntilDone:NO];
 } else {
 //do something when failed
 }
 }];
 } else {
 //do something when the policy can be evaluated
 }

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章