iOS 8 Touch ID指纹识别
2015年8月19日
前段时间项目中使用了Touch ID解锁登陆,顺便就整理了一下。Touch ID 只支持iOS8、iPhone 5s以上的系统和设备,使用时需要引入 LocalAuthentication.framework
,首先我们可以看一下这个库里面有什么东西:
比较简单,主要使用的就是LAContext这个类中的API。
要想使用Touch ID,第一步我们需要系统询问,看看当前的设备能不能使用。
1 | - (void)evaluatePolicy:(LAPolicy)policy |
这个函数就是询问系统当前的设备能不能使用Touch ID,能使用 return YES,反之return NO;我在使用Touch Id的时候,我创建了一个工具类LBTouchId
,里面包含了判断Touch Id是否可用的类方法+ (BOOL)checkTouchIDUsable
和验证指纹是否正确的类方法
1 | + (void)verifyTouchIdWithLocalizedFallbackTitle:(NSString *)fallbackTitle |
1 | + (BOOL)checkTouchIDUsable |
当系统返回YES的时候,我们就需要验证指纹的正确性了,接下来就看一下实现的方式:
1 | + (void)verifyTouchIdWithLocalizedFallbackTitle:(NSString *)fallbackTitle |
接下来我们运行,可以看到如下界面:
其中localizedReason
可以是开发者自己指定的,如果验证失败,会出现下图:
其中localizedFallbackTitle
也是开发者自己指定的,如果为空字符串,就不会显示这个按钮,只显示一个”取消”按钮,当用户点击对应的按钮,都是有回调的,可以根据具体情况做处理。
好了,Touch ID的基本使用就全部结束了,比较简单,本文的Demo