#import "AppDelegate.h" #import "WJTouchID.h" #import "MBProgressHUD.h" #import "MBProgressHUD+Add.h" // 屏幕bounds #define YLSScreenBounds [UIScreen mainScreen].bounds //位置 #define ZLRect(x, y, w, h) CGRectMake([UIScreen mainScreen].bounds.size.width * x, [UIScreen mainScreen].bounds.size.height * y, [UIScreen mainScreen].bounds.size.width * w, [UIScreen mainScreen].bounds.size.height * h) //字体大小 #define ZCFont(f) [UIScreen mainScreen].bounds.size.width * f
@interface ViewController ()<WJTouchIDDelegate> /** NoticeLabel */ @property (nonatomic,strong) UILabel *label; /** UISwitch */ @property (nonatomic,strong) UISwitch *touchIDSwitch; @property (nonatomic, strong) WJTouchID *touchID; @end
-(UISwitch *)touchIDSwitch
{
if (!_touchIDSwitch)
{
self.touchIDSwitch = [[UISwitch alloc]init];
}
return _touchIDSwitch;
}
-(void)setSubViews
{
self.label = [[UILabel alloc]init];
[self.view addSubview:self.label];
[self.label setFrame:ZLRect(0, 100/667, 1, 20/667)];
[self.label setText:@"指纹解锁"];
[self.label setTextAlignment:NSTextAlignmentCenter];
[self.label setFont:[UIFont systemFontOfSize:ZCFont(18/375)]];
self.touchIDSwitch = [[UISwitch alloc]init];
[self.touchIDSwitch setFrame:ZLRect(160/375, 200/667, 50/375, 28/667)];
[self.view addSubview:self.touchIDSwitch];
if ([[[NSUserDefaults standardUserDefaults]objectForKey:@"TouchID"] isEqualToString:@"1"])
{
self.touchIDSwitch.on = YES;
}else
{
self.touchIDSwitch.on = NO;
}
[self.touchIDSwitch addTarget:self action:@selector(changeSwitch:) forControlEvents:UIControlEventValueChanged];
}
- (void)viewDidLoad {
[super viewDidLoad];
[self setSubViews];
}
-(void)changeSwitch:(id)sender
{
NSLog(@"------changeSwitch-------");
WJTouchID *touchid = [[WJTouchID alloc]init];
[touchid startWJTouchIDWithMessage:WJNotice(@"自定义信息", @"The Custom Message") fallbackTitle:WJNotice(@"", @"Fallback Title") delegate:self];
self.touchID = touchid;
}
//TouchID验证成功
- (void) WJTouchIDAuthorizeSuccess {
[[NSUserDefaults standardUserDefaults]setObject:@"YES" forKey:@"touchIDISon"];
if (self.touchIDSwitch.on == YES)
{
[MBProgressHUD showText:@"成功开启指纹解锁" view:self.view];
[[NSUserDefaults standardUserDefaults] setObject:@"1" forKey:@"TouchID"];
}else{
[MBProgressHUD showText:@"指纹解锁关闭成功" view:self.view];
[[NSUserDefaults standardUserDefaults] setObject:@"0" forKey:@"TouchID"];
}
}
//TouchID验证失败
- (void) WJTouchIDAuthorizeFailure {
[[NSUserDefaults standardUserDefaults]setObject:@"YES" forKey:@"touchIDISon"];
if (self.touchIDSwitch.on == YES){
self.touchIDSwitch.on = NO;
[MBProgressHUD showText:@"指纹解锁开启失败" view:self.view];
[[NSUserDefaults standardUserDefaults] setObject:@"0" forKey:@"TouchID"];
}else
{
self.touchIDSwitch.on = YES;
[MBProgressHUD showText:@"指纹解锁关闭失败" view:self.view];
[[NSUserDefaults standardUserDefaults] setObject:@"1" forKey:@"TouchID"];
}
}
//取消TouchID验证 (用户点击了取消)
- (void) WJTouchIDAuthorizeErrorUserCancel {
[[NSUserDefaults standardUserDefaults]setObject:@"YES" forKey:@"touchIDISon"];
if (self.touchIDSwitch.on == YES){
self.touchIDSwitch.on = NO;
[[NSUserDefaults standardUserDefaults] setObject:@"0" forKey:@"TouchID"];
}else
{
self.touchIDSwitch.on = YES;
[[NSUserDefaults standardUserDefaults] setObject:@"1" forKey:@"TouchID"];
}
}
//在验证的TouchID的过程中被系统取消 例如突然来电话、按了Home键、锁屏
- (void) WJTouchIDAuthorizeErrorSystemCancel {
[[NSUserDefaults standardUserDefaults]setObject:@"YES" forKey:@"touchIDISon"];
if (self.touchIDSwitch.on == YES){
self.touchIDSwitch.on = NO;
[[NSUserDefaults standardUserDefaults] setObject:@"0" forKey:@"TouchID"];
}else
{
self.touchIDSwitch.on = YES;
[[NSUserDefaults standardUserDefaults] setObject:@"1" forKey:@"TouchID"];
}
}
//多次连续使用Touch ID失败,Touch ID被锁,需要用户输入密码解锁
- (void) WJTouchIDAuthorizeLAErrorTouchIDLockout {
[[NSUserDefaults standardUserDefaults]setObject:@"YES" forKey:@"touchIDISon"];
[MBProgressHUD showText:@"验证失败" view:self.view];
}
//当前软件被挂起取消了授权(如突然来了电话,应用进入前台)
- (void) WJTouchIDAuthorizeLAErrorAppCancel {
[[NSUserDefaults standardUserDefaults]setObject:@"YES" forKey:@"touchIDISon"];
if (self.touchIDSwitch.on == YES){
self.touchIDSwitch.on = NO;
[[NSUserDefaults standardUserDefaults] setObject:@"0" forKey:@"TouchID"];
}else
{
self.touchIDSwitch.on = YES;
[[NSUserDefaults standardUserDefaults] setObject:@"1" forKey:@"TouchID"];
}
}
//当前软件被挂起取消了授权 (授权过程中,LAContext对象被释)
- (void) WJTouchIDAuthorizeLAErrorInvalidContext {
[[NSUserDefaults standardUserDefaults]setObject:@"YES" forKey:@"touchIDISon"];
if (self.touchIDSwitch.on == YES){
self.touchIDSwitch.on = NO;
[[NSUserDefaults standardUserDefaults] setObject:@"0" forKey:@"TouchID"];
}else
{
self.touchIDSwitch.on = YES;
[[NSUserDefaults standardUserDefaults] setObject:@"1" forKey:@"TouchID"];
}
}
@interface YLSTouchidView : UIView /** * 快速创建 */ +(instancetype)touchIDView; /** * 弹出 */ -(void)show; -(void)showInView:(UIView *)view; @end
@interface YLSTouchidView()<WJTouchIDDelegate>
/** 指纹解锁的button */
@property (nonatomic,strong) UIButton *touchIdBtn;
/** 头像 */
@property (nonatomic,strong) UIImageView *iconView;
/** 用户名 */
@property (nonatomic,strong) UILabel *nameLabel;
/** 提示信息 */
@property (nonatomic,strong) UILabel *noticeLabel;
/** 手机号 */
@property (nonatomic,strong) NSString *phoneNumber;
/** 退出按钮 */
@property (nonatomic,strong) UIButton *quitBtn;
@property (nonatomic, strong) WJTouchID *touchID;
@end
-(instancetype)initWithFrame:(CGRect)frame
{
self = [super initWithFrame:YLSScreenBounds];
if (self)
{
self.backgroundColor = [UIColor orangeColor];
}
//调用指纹解锁
WJTouchID *touchid = [[WJTouchID alloc]init];
[touchid startWJTouchIDWithMessage:WJNotice(@"自定义信息", @"The Custom Message") fallbackTitle:WJNotice(@"", @"Fallback Title") delegate:self];
self.touchID = touchid;
return self;
}
- (void)layoutSubviews
{
[super layoutSubviews];
self.iconView = [[UIImageView alloc]init];
[self.iconView setFrame:ZLRect(128/320, 54/568, 65/320, 65/568)];
[self.iconView setImage:[UIImage imageNamed:@"icon_myinformation"]];
[self addSubview:self.iconView];
self.nameLabel = [[UILabel alloc]init];
[self.nameLabel setFrame:ZLRect(0, 125/568, 1, 28/568)];
[self.nameLabel setText:@"151****1234"];
[self.nameLabel setFont:[UIFont systemFontOfSize:ZCFont(15/375)]];
[self.nameLabel setTextColor:[UIColor whiteColor]];
[self.nameLabel setTextAlignment:NSTextAlignmentCenter];
[self addSubview:self.nameLabel];
self.touchIdBtn = [[UIButton alloc]init];
[self.touchIdBtn setFrame:ZLRect(120/320, 250/568, 80/320, 80/568)];
[self.touchIdBtn setImage:[UIImage imageNamed:@"touchImg"] forState:UIControlStateNormal];
[self.touchIdBtn addTarget:self action:@selector(clickToCheckTouchID) forControlEvents:UIControlEventTouchUpInside];
[self addSubview:self.touchIdBtn];
self.noticeLabel = [[UILabel alloc]init];
[self.noticeLabel setFrame:ZLRect(0, 339/568, 1, 22/568)];
[self.noticeLabel setText:@"点击进行指纹解锁"];
[self.noticeLabel setTextColor:[UIColor whiteColor]];
[self.noticeLabel setTextAlignment:NSTextAlignmentCenter];
[self.noticeLabel setFont:[UIFont systemFontOfSize:ZCFont(16/375)]];
[self addSubview:self.noticeLabel];
self.quitBtn = [[UIButton alloc]init];
[self.quitBtn setFrame:ZLRect(0, 520/568, 1, 30/568)];
[self.quitBtn setTitle:@"退出" forState:UIControlStateNormal];
[self.quitBtn addTarget:self action:@selector(quitContent) forControlEvents:UIControlEventTouchUpInside];
[self addSubview:self.quitBtn];
}
//快速创建
+ (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];
}];
}
/**
* 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"];
}
- (void)applicationDidBecomeActive:(UIApplication *)application {
NSString *touchIDExist = [[NSUserDefaults standardUserDefaults]objectForKey:@"TouchID"];
NSString *touchISOn = [[NSUserDefaults standardUserDefaults]objectForKey:@"touchIDISon"];
if ([touchIDExist isEqualToString:@"1"] && [touchISOn isEqualToString:@"NO"])
{
YLSTouchidView *yls = [[YLSTouchidView alloc]init];
[yls show];
}
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(20 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
[[NSUserDefaults standardUserDefaults]setObject:@"NO" forKey:@"touchIDISon"];
});
}
机械节能产品生产企业官网模板...
大气智能家居家具装修装饰类企业通用网站模板...
礼品公司网站模板
宽屏简约大气婚纱摄影影楼模板...
蓝白WAP手机综合医院类整站源码(独立后台)...苏ICP备2024110244号-2 苏公网安备32050702011978号 增值电信业务经营许可证编号:苏B2-20251499 | Copyright 2018 - 2025 源码网商城 (www.ymwmall.com) 版权所有