本文转载至 http://blog.csdn.net/jinkaiouyang/article/details/35555123

IOS8将指纹识别技术开放出来了。我们能够利用用户设置的touch ID来进行用户鉴权。

TouchID的API主要集成在LocalAuthentication.framework中。将改framework加入到工程中,并且需要iPhone5S和IOS8系统的支持,就能使用TouchID的API

了。

TouchID的API非常简单:

1、使用之前,需要先判断TouchID是否支持

  1. - (BOOL)canEvaluatePolicy:(LAPolicy)policy error:(NSError * __autoreleasing *)error;

2、调用TouchID识别接口

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

policy枚举,表示需要使用到的权限,目前只有一个Biometrics,意思指的就是TouchID

  1. {
  2. /// Device owner was authenticated using a biometric method. Biometrics (Touch ID) is required.
  3. /// If Touch ID is not enabled, policy evaluation fails.
  4. LAPolicyDeviceOwnerAuthenticationWithBiometrics = kLAPolicyDeviceOwnerAuthenticationWithBiometrics
  5. } NS_ENUM_AVAILABLE(10_10, 8_0);

localizedReason

使用TouchID的理由,会出现在弹框中,提示用户。这个字段必须填写且不为nil或空值,否则会抛NSInvalidArgumentException异常,

(void(^)(BOOL success,NSError *error))

TouchID输入的结果回调。使用block方式。

示例代码:

  1. LAContext *context = [[LAContext alloc] init];
  2. NSError *contextError = nil;
  3. NSString *localizedReasonString = @"Need Authorize";
  4. if ([context canEvaluatePolicy:LAPolicyDeviceOwnerAuthenticationWithBiometrics error:&contextError]) {
  5. [context evaluatePolicy:LAPolicyDeviceOwnerAuthenticationWithBiometrics
  6. localizedReason:localizedReasonString
  7. reply:^(BOOL success, NSError *error) {
  8. NSString *title, *message;
  9. if (success) {
  10. title = @"Authorize Success";
  11. message = nil;
  12. } else {
  13. title = @"Authorize Faied";
  14. message = error.localizedFailureReason;
  15. }
  16. UIAlertView *alertView = [[UIAlertView alloc] initWithTitle:title
  17. message:message
  18. delegate:nil
  19. cancelButtonTitle:@"OK"
  20. otherButtonTitles:nil];
  21. [alertView show];
  22. }];
  23. } else {
  24. UIAlertView *alertView = [[UIAlertView alloc] initWithTitle:@"Context Error"
  25. message:contextError.localizedFailureReason
  26. delegate:nil
  27. cancelButtonTitle:@"OK"
  28. otherButtonTitles:nil];
  29. [alertView show];

IOS8 TouchID使用介绍的更多相关文章

  1. iOS8指纹识别TouchID

    苹果在2014年6月3日的WWDC2014开幕式上推出了新版iOS8系统,界面上iOS8与iOS7相比变化不大,只是在功能方面进行了完好.iOS8通知中心更加强大,支持消息直接回复操作,并支持Quic ...

  2. IOS8 Playground介绍

    一.Playground介绍 Playground是Xcode6中自带的Swift代码开发环境.俗话说"功欲善其事,必先利其器".曾经在Xcode5中编写脚本代码,比如编写JS,其 ...

  3. iOS8使用TouchID

    iOS8新增了LocalAuthentication框架,用于TouchID的授权使用.亲測,眼下须要用户的设备支持指纹识别并已设置锁屏,并且实际測试过程中反馈比較慢.不能直接跟第三方账号passwo ...

  4. ios8指纹识别

    简介 苹果从iPhone5S开始,具有指纹识别技术,从iOS8.0之后苹果允许第三方 App 使用 Touch ID进行身份验证.指纹识别Touch ID提供3+2共5次指纹识别机会(3次识别失败后, ...

  5. iOS TouchID & FaceID

    import UIKit import LocalAuthentication //指纹识别必须用真机测试,并且在iOS8以上系统,如果是FaceID至少IOS11以上. class Authenti ...

  6. 从头来之【iOS及历史版本特性介绍】

    iOS是apple公司的移动操作系统,在iPhone,iPad,iPod中应用,该名最初为Cisco的网络设备操作系统,后授权于Apple公司使用.下面介绍历史版本的特性. iOS1 最大特性是具有其 ...

  7. iOS7,iOS8和iOS9的区别

    iOS7,iOS8和iOS9的区别:iOS7.0 1.iOS 7是iOS面世以来在用户界面上做出改变最大的一个操作系统.iOS 7抛弃了以往的拟物化设计,而采用了扁平化设计. 苹果在重新思考 iOS ...

  8. Masonry介绍与使用实践:快速上手Autolayout

    1 MagicNumber -> autoresizingMask -> autolayout 以上是纯手写代码所经历的关于页面布局的三个时期 在iphone1-iphone3gs时代 w ...

  9. iOS 阶段学习第25天笔记(iOS沙盒机制介绍)

    iOS学习(OC语言)知识点整理 一.iOS沙盒机制介绍 1)概念: 每个ios应用都有自己的应用沙盒,应用沙盒就是文件系统目录,与其他应用放入文件 系统隔离,ios系统不允许访问 其他应用的应用沙盒 ...

随机推荐

  1. <编程精粹:编写高质量C语言代码> 读书笔记

    0.规则<The Elements of Programming Style><The Elements of Style> 1.假想的编译程序(1)使用编译器提供的所有的可选 ...

  2. foj Problem 2283 Tic-Tac-Toe

                                                                                                    Prob ...

  3. 【BZOJ1901】Dynamic Rankings(树套树,树状数组,主席树)

    题意:给定一个N个数的序列,要求维护一个数据结构支持以下两种操作: 1:将第X个数改成Y 2:查询第X到第Y个数里第K小的数是多少 n,m<=10000,a[i]<=10^9 思路:单点修 ...

  4. 学习javascript设计模式之中介者模式

    1.中介者模式的作用就是解除对象与对象之间的紧耦合关系.增加一个中介者对象后,所有的相关对象都通过中介者来通信,而不是互相引用,所以当一个对象发生改变时,只需要通知中介对象即可.中介者使各对象之间耦合 ...

  5. 浅谈js函数三种定义方式 & 四种调用方式 & 调用顺序

    在Javascript定义一个函数一般有如下三种方式: 函数关键字(function)语句: function fnMethodName(x){alert(x);} 函数字面量(Function Li ...

  6. vim学习总揽

    1. 光标在屏幕文本中的移动既可以用箭头键,也可以使用 hjkl 字母键. h (左移) j (下行) k (上行) l (右移) 2. 欲进入 Vim 编辑器(从命令行提示符),请输入:vim 文件 ...

  7. 关于xcode 9.0数组问题的遇到的坑

    1.最近一直在忙着做项目,今天就来总结最近这段时间遇到的一些比较麻烦的问题.有时候也是颇感无奈. 有句话说的好.人不要总在一棵树上吊死.去旁边那棵树上也可以试试.好了不扯了.直接进入正题吧! 先来阐述 ...

  8. 小程序-初次进入小程序的授权问题(授权更新后的完整步骤)button主动授权

    在此做个笔记 最开始小程序的开发时,信息授权的问题刚完善,后面腾讯就更新了新的授权方式,真心的感到心累. 后来的button,主动授权问题,时间一久就有些忘记了,最近在新开发一个小程序的拆红包活动,需 ...

  9. PythonWeb开发教程(二),搭建第一个django项目

    这篇写怎么创建django项目,以及把django项目运行起来. 1.创建django项目 a.使用命令创建,安装完django之后就有django-admin命令了,执行命令创建即可,命令如下:   ...

  10. OpenLDAP给我的启发

    首先这篇文章没什么技术性,但亮点是:我会给广大运维同行提一点建议,这个一点仅仅是一点,而不是很多点. 年前计划深度掌握一些诸如:Jenkins.Gitlab.ELK.k8s等的软件,但学着学着总是想学 ...