• 微课视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
微课江湖
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 微课视频
  • bios
  • 系统安装
  • 系统进程
  • Windows
  • LINUX
  • RedHat/Centos
  • Ubuntu/Debian
  • Fedora
  • Solaris
  • 麒麟系统
  • 红旗Linux
  • 苹果MAC
  • 注册表
  • 其它系统
您的位置:首页 > 操作系统 >苹果MAC > iOS8中如何集成TouchID指纹传感器功能

iOS8中如何集成TouchID指纹传感器功能

作者:佚名 字体:[增加 减小] 来源:互联网 时间:2017-05-12

佚名 通过本文向大家介绍了指纹传感器,未检测到指纹传感器,指纹传感器工作原理,指纹传感器未响应,指纹传感器发生错误等相关知识,希望对您有所帮助,也希望大家多多支持微课江湖

2013年9月,苹果为当时发布的最新iPhone产品配备了一系列硬件升级方案。在iPhone 5s当中,最具创新特性的机制无疑要数围绕Home按钮设计的超薄金属圈,也就是被称为Touch ID的指纹传感器。开发人员随后开始纷纷将其API作为突破口,希望能在自己的应用程序中引入这一最新功能。如今一年已经过去,iOS 8提供的新型框架则让开发者能够更加得心应手地使用这套指纹传感装置。

这套Local Authentication框架能够轻松实现用户身份验证,大家可以利用它来完成应用程序的登录机制或者通过它保护应用程序当中的敏感数据。在今天的教程中,我们将共同了解如何将整套选项应用在自己的设计成果当中、我们能够从设备中获取哪些数据并一步步引导各位构建起一款示例应用程序。

要完成本教程,大家需要安装Xcode 6以创建新项目,此外各位还需要一台配备Touch ID的设备来对自己创建完成的示例应用进行测试。

1. Touch ID

Touch ID指的是被安装在iPhone 5s Home按钮当中的指纹传感装置。它的出现旨在帮助用户更为轻松地完成身份识别流程,从而鼓励使用者尽可能多地使用保护机制。大家在每台设备上最多能够配置五种指纹识别信息。到目前为止,Touch ID已经能够被用于完成设备解锁并完成在iTunes Store、App Store以及iBooks Store当中的购买操作。在进一步探讨如何将其引入大家自己的应用程序之前,我们首先需要对这款传感器本身进行一番了解。

Touch ID传感器能够以每英寸500像素的分辨率对用户指纹进行扫描,并将指纹图案划归为三种类型之一:拱型、旋涡型以及环型。这款传感器在设计上充分考虑到了便捷性需求,大家可以从任何角度对手指进行扫描、而且当前扫描结果能够与任何方向的原有指纹记录进行正确匹配。

苹果公司宣称,对于任何一个给定指纹图案、Touch ID发生识别错误的机率仅为五万分之一,这样的保护效果明显优于原本的四位数PIN码机制——毕竟其内容只能在0001到9999之间提供一万种可能性组合。不过苹果没有明显指出的是,在某些情况下我们可能无法使用自己的指纹顺利实现解锁操作,例如在游泳之后手指纹理褶皱发生变化时。

如果大家打算使用Touch ID,那么最重要的一点就是首先考虑到那些用户可能无法使用手指进行验证的使用场景。由于苹果不再允许我们使用设备内自带的PIN码验证机制,因此如果Touch ID无法正常起效、大家最好能在应用程序当中额外建立一套密码匹配方案。

2. 安全注意事项

指令传感器带来的最大问题在于,用户的隐私会从根本上受到侵犯。如果大家的密码内容被泄露出去,那么各位完全可以通过修改及时挽救、恶意人士根本无法继续利用其访问用户的敏感数据。然而如果大家的指纹信息,或者是苹果的指纹内容算法遭到外泄,我们明显没办法快速对其进行变更。

Local Authentication框架负责处理所有用户身份验证的重任。当与Touch ID结合起效时,最重要的就是要确保该框架不会透露任何与用户有关的细节、而且不会有数据从设备中被传输出去。然而,开发人员可以利用这套框架来检查特定用户是否被允许使用对应应用程序。

如果大家已经比较熟悉OAuth规范,就会发现这两种验证处理方式其实颇为相似。我们要求第三方对用户身份进行审核,如果我们对第三方充分信任,则可以根据其反馈直接向该用户提供认证凭证。

3. LAContext

Local Authentication框架的核心就是LAContext类。开发人员可以利用LAContext实例来对安全策略加以评估。截至本文发稿时,这也是惟一可资使用的管理策略。它会利用Touch ID传感器来检查用户的身份是否正是设备持有者。未来其它安全管理策略可能将陆续推出。举例来说,苹果公司可能会引入一类无权限角色、只允许他们对特定资源加以访问。

如果这套框架无法完成验证,则会提供错误提示信息。设备无法完成验证的理由可能包括以下几种:

LAErrorTouchIDNotAvailable 设备本身并不具备指纹传感装置。 LAErrorPasscodeNotSet 设备上并不具备密码设置信息,也就是说Touch ID功能处于被禁用状态。 LAErrorTouchIDNotEnrolled 已经设定有密码机制,但设备配置当中还没有保存过任何指纹内容。

如果遇到了包含上述错误码的错误提示信息,大家就需要利用其它一些方法来完成对用户的身份验证。在这种情况下,各位已经不能单单依赖Touch ID来完成保护工作了。

下面让我们一起创建一款示例应用程序,共同了解如何对Local Authentication框架加以使用。

4. 项目设置

第一步

打开Xcode并在File菜单内选择New > Project…。接下来在iOS Application模板列表中选择Single View Application(单视图应用程序)并点击Next。

第二步

为我们的项目输入一个名称,我叫自己的应用命名为Auth。接下来输入组织名称、公司标识以及类前缀。在Devices列表中选择iPhone,然后点击Next,接下来为项目选择一个文件保存位置。

第三步

点击ViewController.h并定义一种新操作,authenticateButtonTapped,它会触发整个验证流程。ViewController类的界面外观应该如下所示:

  1. #import <UIKit/UIKit.h> @interface ViewController : UIViewController 
  2. - (IBAction)authenticateButtonTapped:(id)sender; @end 

第四步

打开Main.storyboard并将一个Button拖拽到控制器的视图当中。变更该按钮的标签以使其读取为Authneticate。

第五步

右键点击该按钮以显示Connections Inspector。点击Touch Up Inside事件左侧的加号并选择用于容纳该按钮的视图控制器。这时屏幕上会显示出新的菜单,大家需要在这里选择我们之前已经设置完成的操作。

5. 对用户身份进行验证第一步

开启ViewController.m以激活authenticateButtonTapped方法。在文件开头位置添加以下面向Local Authentication框架的导入语句。

  1. #import <LocalAuthentication/LocalAuthentication.h> 

第二步

在authenticateButtonTapped方法当中,我们创建一套背景信息并检测该背景是否能够对LAPolicyDeviceOwnerAuthenticationWithBiometrics策略加以评估,如果不同则显示错误信息。

  1. - (IBAction)authenticateButtonTapped:(id)sender {     LAContext *context = [[LAContext alloc] init]; 
  2.      NSError *error = nil; 
  3.      if ([context canEvaluatePolicy:LAPolicyDeviceOwnerAuthenticationWithBiometrics error:&error]) { 
  4.          // Authenticate User 
  5.      } else { 
  6.          UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Error" 
  7.                                         &n
分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • iOS8中如何集成TouchID指纹传感器功能

相关文章

  • 2017-05-12yosemite10.10.3beta3下载地址 os x10.10.3beta3官网下载
  • 2017-05-12MAC怎么快速显示或隐藏包含重要数据等信息的文件
  • 2017-05-12苹果mac操作系统安装图文教程(比较详细)
  • 2017-05-12使用自带的磁盘工具彻底删除Mac磁盘中的文件
  • 2017-05-12一个链接就让Mac死机 亲身测试有效
  • 2017-05-12MAC下设置Launchpad应用图标大小以适应需求
  • 2017-05-12Mac QQ截图保存在哪里?苹果电脑Mac qq截图文件路径设置技巧图解
  • 2017-05-12mac命令行终端怎么打开 mac命令行终端打开方法
  • 2017-05-12Mac废纸篓不能清空怎么办? Mac清空废纸篓的教程
  • 2017-05-12Mac怎么恢复出厂设置?Mac不用光盘或U盘恢复出厂设置教程图解

文章分类

  • bios
  • 系统安装
  • 系统进程
  • Windows
  • LINUX
  • RedHat/Centos
  • Ubuntu/Debian
  • Fedora
  • Solaris
  • 麒麟系统
  • 红旗Linux
  • 苹果MAC
  • 注册表
  • 其它系统

最近更新的内容

    • mac os x yosemite出现王玉bug怎么办?mac os x yosemite出现王玉bug的解决方法
    • macbook air2015安装win8.1后黑屏的可行解决方案
    • 为什么国外程序员爱用苹果Mac电脑
    • MAC系统 Apple ID 停用的解决办法
    • 苹果MacOS系统怎么没为不同桌面设置独立壁纸?
    • mac如何查看隐藏文件夹?苹果mac显示隐藏文件夹方法和命令介绍
    • 苹果Mac怎么连接投影仪?Mac外接显示器设置教程
    • 苹果电脑Mac打不开网页怎么办?Mac打不开网页的解决方法
    • Mac OS X Lion 恢复功能禁止方法图文教程
    • Mac硬盘数据找回技巧解决资料读取不了问题

关于我们 - 联系我们 - 免责声明 - 网站地图

©2015-2018 All Rights Reserved. 微课江湖 版权所有 豫ICP备12007166号