iOS Touch ID

iOS指纹解锁这个需求在一些软件上可能会有需要,比如支付宝的指纹解锁之类的。前几天有个🐔友问这个,正好看了一下。很简单的一个framework的应用:LocalAuthentication.
判断指纹解锁各种状态的一个枚举:

失败授权(3次机会失败 --身份验证失败)
 LAErrorAuthenticationFailed = kLAErrorAuthenticationFailed,
 
 用户取消touchid授权(用户点击取消按钮)
 LAErrorUserCancel           = kLAErrorUserCancel,
 
 用户选择输入密码,用户点击回退按钮(输入密码)
 LAErrorUserFallback         = kLAErrorUserFallback,
 
 系统取消授权,系统跳转app之类的(比如另一个应用程序去前台,切换到其他 APP)
 LAErrorSystemCancel         = kLAErrorSystemCancel,
 
 系统未设置密码
 LAErrorPasscodeNotSet       = kLAErrorPasscodeNotSet,
 
 设置touchid不可用,因为触摸ID在设备上不可用
 LAErrorTouchIDNotAvailable  = kLAErrorTouchIDNotAvailable,
 
 身份验证无法启动,因为没有登记的手指触摸ID。 没有设置指纹密码时。
 LAErrorTouchIDNotEnrolled = kLAErrorTouchIDNotEnrolled,
 
 这个错误出现,源自用户多次连续使用Touch ID失败,Touch ID被锁,需要用户输入密码解锁,这个错误的交互LocalAuthentication.framework已经封装好了,不需要开发者关心
 LAErrorTouchIDLockout   NS_ENUM_AVAILABLE(10_11, 9_0) __WATCHOS_AVAILABLE(3.0) __TVOS_AVAILABLE(10.0) = kLAErrorTouchIDLockout,
 
 LAErrorAppCancel和LAErrorSystemCancel相似,都是当前软件被挂起取消了授权,但是前者是用户不能控制的挂起,例如突然来了电话,电话应用进入前台,APP被挂起。后者是用户自己切到了别的应用,例如按home键挂起
 LAErrorAppCancel        NS_ENUM_AVAILABLE(10_11, 9_0) = kLAErrorAppCancel,
 
 就是授权过程中,LAContext对象被释放掉了,造成的授权失败
 LAErrorInvalidContext   NS_ENUM_AVAILABLE(10_11, 9_0) = kLAErrorInvalidContext
 }

直接给出demo地址,里面的注释我个人认为注释的比较清楚了,所以就不再啰嗦了。有需要的可以看一下.
demo地址

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • iOS 8 SDK向开发者公开了Touch ID指纹识别功能,允许App对用户身份进行本地验证。使用Touch I...
    X先生_vip阅读 2,261评论 1 18
  • 指纹识别功能是iphone 5S之后推出的.SDK是iOS 8.0推出! 推出指纹识别功能的目的,是为了简化移动支...
    楚简约阅读 4,366评论 2 3
  • 自从 Apple 大大发布 iPhone 5s 以后,指纹识别似乎成为了手机的标配,指纹识别的加入使得手机解锁变得...
    Hem1ngTai阅读 1,108评论 1 10
  • iOS Touch ID 支持系统和机型 iOS系统的指纹识别功能最低支持的机型为iPhone 5s,最低支持系统...
    白公子是猫奴阅读 899评论 0 0
  • 一、Touch ID 简介 iOS系统的指纹识别功能最低支持的机型为iPhone 5s,最低支持系统为iOS 8,...
    小道萧兮阅读 3,803评论 0 3