iOS-为APP添加手机密码、指纹验证

iOS传感器开发——为APP添加手机密码、指纹进行安全验证

一、引言

iPhone5s之后,iPhone硬件上已支持进行指纹识别的功能,相应的,一些新的api也可以应用于APP中,进行用户安全的验证。目前,开发者可以使用的安全验证方式有两种,一种是通过手机密码进行验证,一种是通过识别指纹进行验证。

二、为APP添加安全验证

要使用安全验证的相关api,我们需要引入如下头文件:

#import 

添加手机密码验证:

  //创建安全验证对象   
  LAContext * con = [[LAContext alloc]init];    
  NSError * error;    //判断是否支持密码验证    
/**  
  *LAPolicyDeviceOwnerAuthentication 手机密码的验证方式   
  *LAPolicyDeviceOwnerAuthenticationWithBiometrics 指纹的验证方式    
*/   
  BOOL can = [con canEvaluatePolicy:LAPolicyDeviceOwnerAuthentication error:&error]; 
  if (can) {      
  [con evaluatePolicy:LAPolicyDeviceOwnerAuthentication localizedReason:@"验证信息" reply:^(BOOL success, NSError * _Nullable error) {     
      NSLog(@"%d,%@",success,error);      
    }];       
  }

canEvaluatePolicy是用来判断是否支持手机密码验证的,如果没有设置手机密码,会返回NO,如果启用了,会出现如下界面:


iOS-为APP添加手机密码、指纹验证_第1张图片

密码验证的提示信息,我们可以自定义设置。
进行指纹验证:

  LAContext * con = [[LAContext alloc]init]; 
#warning 设置屏蔽不显示指纹输入密码按钮
  //LAContext的localizedFallbackTitle属性设置(LAContext目前只有这一个属性),如果不设置的话,默认是”Enter Password”.值得注意的是,如果该属性设置为@“”(空字符串),该按钮会被隐藏
  context.localizedFallbackTitle = @"";
  NSError * error;   
  BOOL can = [con canEvaluatePolicy:LAPolicyDeviceOwnerAuthenticationWithBiometrics error:&error];   
  NSLog(@"%d",can);   
  if (can) {      
    [con evaluatePolicy:LAPolicyDeviceOwnerAuthenticationWithBiometrics localizedReason:@"验证指纹" reply:^(BOOL success, NSError * _Nullable error) {  
      NSLog(@"%d,%@",success,error);    
    }];        
  }

回调中的success用来判断是否验证成功:


iOS-为APP添加手机密码、指纹验证_第2张图片

通过这些验证方式,可以使用户的数据更加安全,在做敏感操作时,可以确保是手机的持有者。

原文地址:http://my.oschina.net/u/2340880/blog/542221

你可能感兴趣的:(iOS-为APP添加手机密码、指纹验证)