经验首页 前端设计 程序设计 Java相关 移动开发 数据库/运维 软件/图像 大数据/云计算 其他经验
当前位置:技术经验 » 移动开发 » iOS » 查看文章
iOS Touch ID指纹识别技术简介
来源:jb51  时间:2019/4/29 8:33:37  对本文有异议

Touch ID简介:

苹果公司在iPhone 5S手机中推出了指纹识别功能,提高手机安全性的同时也方便了用户操作。其功能是通过Touch ID实现的,从iOS 8系统开始,苹果开发一些Touch ID的API使得开发人员可以在自己的应用程序中调用指纹识别功能。

Touch ID功能就是指纹识别密码。使用指纹识别功能需要先进入设置—Touch ID 与密码中根据提示添加指纹。

从iOS 8系统开始开放了Touch ID的验证接口功能,在应用程序中可以判断输入的Touch ID是否设置持有者的Touch ID。

Touch ID使用:

创建一个iOS工程项目。           

打开工程的General — Linked Frameworks and Libraries面板,单机“+”按钮添加“LocalAuthentication.framework”框架,如图26-1所示。

编写程序时导入“LocalAuthentication.framework”框架的头文件:

#import <LocalAuthentication/LocalAuthentication.h>。

写了一个简单的测试Touch ID的例子,效果图如下:(若图片不清楚可右键将图片保存本地再放大看)

下面贴上代码:

  1. #import <UIKit/UIKit.h>
  2. @interface HWTouchIDTestVC : UIViewController
  3. @end
  4. #import "HWTouchIDTestVC.h"
  5. #import <LocalAuthentication/LocalAuthentication.h>
  6. @interface HWTouchIDTestVC ()
  7. @property (nonatomic, weak) UILabel *label;
  8. @end
  9. @implementation HWTouchIDTestVC
  10. - (void)viewDidLoad {
  11. [super viewDidLoad];
  12. self.view.backgroundColor = [UIColor blackColor];
  13. //创建控件
  14. [self creatControl];
  15. }
  16. - (void)creatControl
  17. {
  18. //测试按钮
  19. UIButton *btn = [[UIButton alloc] initWithFrame:CGRectMake(50, 200, 120, 50)];
  20. btn.backgroundColor = [UIColor orangeColor];
  21. [btn setTitle:@"测试按钮" forState:UIControlStateNormal];
  22. [btn addTarget:self action:@selector(btnOnClick) forControlEvents:UIControlEventTouchUpInside];
  23. [self.view addSubview:btn];
  24. //提示标签
  25. UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(220, 200, 120, 50)];
  26. label.text = @"测试标签";
  27. label.textAlignment = NSTextAlignmentCenter;
  28. label.backgroundColor = [UIColor yellowColor];
  29. [self.view addSubview:label];
  30. self.label = label;
  31. }
  32. - (void)btnOnClick
  33. {
  34. //初始化
  35. LAContext *context = [[LAContext alloc] init];
  36. NSError *error = nil;
  37. //显示的文字
  38. NSString *str = @"指纹验证";
  39. //判断是否能进行验证
  40. if ([context canEvaluatePolicy:LAPolicyDeviceOwnerAuthenticationWithBiometrics error:&error]) {
  41. [context evaluatePolicy:LAPolicyDeviceOwnerAuthenticationWithBiometrics localizedReason:str reply:^(BOOL success, NSError * _Nullable error) {
  42. if (success) {
  43. NSLog(@"验证成功");
  44. dispatch_async(dispatch_get_main_queue(), ^{
  45. self.label.text = @"验证成功";
  46. self.label.backgroundColor = [UIColor greenColor];
  47. });
  48. }else {
  49. NSLog(@"验证失败,error:%@", error);
  50. dispatch_async(dispatch_get_main_queue(), ^{
  51. self.label.text = @"验证失败";
  52. self.label.backgroundColor = [UIColor redColor];
  53. });
  54. }
  55. }];
  56. }else {
  57. NSLog(@"无法验证指纹,error: %@", error);
  58. self.label.text = @"无法验证";
  59. }
  60. }
  61. @end

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持w3xue。

 友情链接:直通硅谷  点职佳  北美留学生论坛

本站QQ群:前端 618073944 | Java 606181507 | Python 626812652 | C/C++ 612253063 | 微信 634508462 | 苹果 692586424 | C#/.net 182808419 | PHP 305140648 | 运维 608723728

W3xue 的所有内容仅供测试,对任何法律问题及风险不承担任何责任。通过使用本站内容随之而来的风险与本站无关。
关于我们  |  意见建议  |  捐助我们  |  报错有奖  |  广告合作、友情链接(目前9元/月)请联系QQ:27243702 沸活量
皖ICP备17017327号-2 皖公网安备34020702000426号