iOS密码在进入后台1小时后重新设置
时间:2019-03-31
本文章向大家介绍iOS密码在进入后台1小时后重新设置,主要包括iOS密码在进入后台1小时后重新设置使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
废话不多说了,直接给大家贴代码了,具体代码如下所示:
AppDelegate.m
#import "AppDelegate.h" #import "ViewController.h" @interface AppDelegate () @end @implementation AppDelegate - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { // Override point for customization after application launch. //当程序在后台停留超过60分的时候,密码会置为空。 //1小时后将密码重新设置 [self timeInterval]; return YES; } - (void)applicationWillResignActive:(UIApplication *)application { // Sent when the application is about to move from active to inactive state. This can occur for certain types of temporary interruptions (such as an incoming phone call or SMS message) or when the user quits the application and it begins the transition to the background state. // Use this method to pause ongoing tasks, disable timers, and throttle down OpenGL ES frame rates. Games should use this method to pause the game. } - (void)applicationDidEnterBackground:(UIApplication *)application { //计算时间差 [self backTime]; } - (void)applicationWillEnterForeground:(UIApplication *)application { //1小时后将密码重新设置 [self timeInterval]; } - (void)applicationDidBecomeActive:(UIApplication *)application { // Restart any tasks that were paused (or not yet started) while the application was inactive. If the application was previously in the background, optionally refresh the user interface. } - (void)applicationWillTerminate:(UIApplication *)application { //计算时间差 [self backTime]; } #pragma -mark -密码保存1个小时 //计算时间差 - (void)timeInterval { NSLog(@"---timeInterval----"); //设置一个字符串的时间 NSString * dateBackString = [[NSUserDefaults standardUserDefaults] objectForKey:@"backGroundTime"]; NSLog(@"---dateBackString---%@",dateBackString); if ([dateBackString isEqual:[NSNull null]] || dateBackString==nil || dateBackString.length ==0) { } else { NSInteger time = [self getTimeInterval:dateBackString]; if (time >= 60) { //1小时后将密码清空 NSUserDefaults *userInfoDefault=[NSUserDefaults standardUserDefaults]; [userInfoDefault setObject:@"" forKey:@"login-password"]; [userInfoDefault synchronize]; } } } //1小时后将密码重新设置 - (void)backTime { NSLog(@"----backTime-----"); //计算上报时间差 NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init]; [dateFormatter setDateFormat:@"yyyy-MM-dd HH:mm:ss"]; //结束时间 NSDate * currentdate = [NSDate date]; NSString * currentDateString = [dateFormatter stringFromDate: currentdate]; NSUserDefaults *userDefaults = [NSUserDefaults standardUserDefaults]; [userDefaults setObject:currentDateString forKey:@"backGroundTime"]; [userDefaults synchronize]; } //计算时间差 - (NSInteger)getTimeInterval:(NSString *)sendDateString { NSInteger minute; if (sendDateString ==nil||sendDateString.length==0) { } else { NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init]; [dateFormatter setDateFormat:@"yyyy-MM-dd HH:mm:ss"]; //结束时间 NSDate * currentdate = [NSDate date]; NSDate * currentDate = [dateFormatter dateFromString:[dateFormatter stringFromDate: currentdate]]; NSDate * endDate = [dateFormatter dateFromString:sendDateString]; //得到时间差 NSTimeInterval time = [currentDate timeIntervalSinceDate:endDate]; // int days = ((int)time)/(3600*24); // int hours = ((int)time)%(3600*24)/3600; // minute = ((NSInteger)time)%(3600*24)/3600/60; minute = (NSInteger)time; } return minute; } @end
总结
以上所述是小编给大家介绍的iOS密码在进入后台1小时后重新设置,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!
- java教程
- Java快速入门
- Java 开发环境配置
- Java基本语法
- Java 对象和类
- Java 基本数据类型
- Java 变量类型
- Java 修饰符
- Java 运算符
- Java 循环结构
- Java 分支结构
- Java Number类
- Java Character类
- Java String类
- Java StringBuffer和StringBuilder类
- Java 数组
- Java 日期时间
- Java 正则表达式
- Java 方法
- Java 流(Stream)、文件(File)和IO
- Java 异常处理
- Java 继承
- Java 重写(Override)与重载(Overload)
- Java 多态
- Java 抽象类
- Java 封装
- Java 接口
- Java 包(package)
- Java 数据结构
- Java 集合框架
- Java 泛型
- Java 序列化
- Java 网络编程
- Java 发送邮件
- Java 多线程编程
- Java Applet基础
- Java 文档注释
- 闲聊 Kotlin-Native (0) - 我们为什么应该关注一下 Kotlin Native?
- 哈佛大学单细胞课程|笔记汇总 (五)
- 通过源码理解IGMP v1的实现(基于linux1.2.13)
- 微服务下数据一致性的几种实现方式
- 关于mac electron设备权限申请的方法
- 两种实现方式 | 如何查看消费者组的消费情况
- 一致性hash算法(golang)
- 微服务安全吗?
- 掌握Rabbitmq几个重要概念,从一条消息说起
- 超赞!墙裂推荐一个 MySQL 自动化运维工具!
- 设计模式-责任链模式
- 问题 linux下执行.sh 文件出现 no such file or directoryile
- 问题:ssm关于mybatis没有找到配置问题(not found)
- 设计模式-享元模式
- 设计模式-代理模式