第四步
实现控件的点击方法,以及在.h文件中声明的弹出方法
//快速创建
+ (instancetype)touchIDView
{
return [[self alloc]init];
}
/** 弹出 */
- (void)show
{
[self showInView:[UIApplication sharedApplication].keyWindow];
}
- (void)showInView:(UIView *)view
{
// 浮现
[view addSubview:self];
}
-(void)clickToCheckTouchID
{
NSLog(@"点击了指纹解锁");
[self.touchID startWJTouchIDWithMessage:WJNotice(@"自定义信息", @"The Custom Message") fallbackTitle:WJNotice(@"", @"Fallback Title") delegate:self];
}
-(void)quitContent
{
NSLog(@"点击了quit");
[UIView animateWithDuration:3 animations:^{
self.alpha = 0;
} completion:^(BOOL finished) {
[self removeFromSuperview];
}];
}
上面再退出的时候我还加了一个小小的特效,就是颜色渐渐变成无色,这样有时候可以遮盖你app里面的一些小问题。偷个懒。
第五步
这里也是跟第一部分一样,实现验证的回调函数。这边的回调函数呢,跟之前的差不多,但是里面的内容就不一样了。而且我这里把不支持touchid的方法加进来,按理说这边是不需要加的,但是我前面没加进来,这里就硬塞进来吧。。。大家就凑合着看,自己用的时候可以直接删掉,不删掉也没事,就是增加点代码量而已。。。
/**
* TouchID验证成功
*/
- (void) WJTouchIDAuthorizeSuccess {
[MBProgressHUD showText:@"解锁成功" view:self];
[[NSUserDefaults standardUserDefaults]setObject:@"YES" forKey:@"touchIDISon"];
// [self dismissViewControllerAnimated:YES completion:nil];
[self removeFromSuperview];
}
/**
* TouchID验证失败
*/
- (void) WJTouchIDAuthorizeFailure {
[MBProgressHUD showText:@"解锁失败" view:self];
[[NSUserDefaults standardUserDefaults]setObject:@"YES" forKey:@"touchIDISon"];
}
/**
* 取消TouchID验证 (用户点击了取消)
*/
- (void) WJTouchIDAuthorizeErrorUserCancel {
[[NSUserDefaults standardUserDefaults]setObject:@"YES" forKey:@"touchIDISon"];
}
/**
* 在验证的TouchID的过程中被系统取消 例如突然来电话、按了Home键、锁屏...
*/
- (void) WJTouchIDAuthorizeErrorSystemCancel {
[[NSUserDefaults standardUserDefaults]setObject:@"YES" forKey:@"touchIDISon"];
}
/**
* 无法启用TouchID,设备没有设置密码
*/
- (void) WJTouchIDAuthorizeErrorPasscodeNotSet {
[[NSUserDefaults standardUserDefaults]setObject:@"YES" forKey:@"touchIDISon"];
}
/**
* 设备没有录入TouchID,无法启用TouchID
*/
- (void) WJTouchIDAuthorizeErrorTouchIDNotEnrolled {
[[NSUserDefaults standardUserDefaults]setObject:@"YES" forKey:@"touchIDISon"];
}
/**
* 该设备的TouchID无效
*/
- (void) WJTouchIDAuthorizeErrorTouchIDNotAvailable {
[[NSUserDefaults standardUserDefaults]setObject:@"YES" forKey:@"touchIDISon"];
}
/**
* 多次连续使用Touch ID失败,Touch ID被锁,需要用户输入密码解锁
*/
- (void) WJTouchIDAuthorizeLAErrorTouchIDLockout {
[[NSUserDefaults standardUserDefaults]setObject:@"YES" forKey:@"touchIDISon"];
}
/**
* 当前软件被挂起取消了授权(如突然来了电话,应用进入前台)
*/
- (void) WJTouchIDAuthorizeLAErrorAppCancel {
[[NSUserDefaults standardUserDefaults]setObject:@"YES" forKey:@"touchIDISon"];
}
/**
* 当前软件被挂起取消了授权 (授权过程中,LAContext对象被释)
*/
- (void) WJTouchIDAuthorizeLAErrorInvalidContext {
[[NSUserDefaults standardUserDefaults]setObject:@"YES" forKey:@"touchIDISon"];
}
/**
* 当前设备不支持指纹识别
*/
-(void)WJTouchIDIsNotSupport {
[[NSUserDefaults standardUserDefaults]setObject:@"YES" forKey:@"touchIDISon"];
}










