iOS密码在进入后台1小时后重新设置

 更新时间:2017年08月18日 14:12:02   作者:弦外雨  
这篇文章主要介绍了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小时后重新设置,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!

相关文章

  • CodeIgniter辅助函数helper详解

    CodeIgniter辅助函数helper详解

    这篇文章主要介绍了CodeIgniter辅助函数helper,需要的朋友可以参考下
    2014-07-07
  • IOS开发压缩后图片模糊问题解决

    IOS开发压缩后图片模糊问题解决

    这篇文章主要为大家介绍了IOS开发压缩后图片模糊问题解决实例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-07-07
  • iOS端React Native差异化增量更新的实现方法

    iOS端React Native差异化增量更新的实现方法

    这篇文章主要给大家介绍了关于iOS端React Native差异化增量更新的实现方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2018-06-06
  • 解析iOS内存不足时的警告以及处理过程

    解析iOS内存不足时的警告以及处理过程

    这篇文章主要介绍了iOS内存不足时的警告以及处理过程,包括View Controller和生命周期等相关方面的知识,需要的朋友可以参考下
    2015-10-10
  • 解决iOS调起微信支付显示系统繁忙问题

    解决iOS调起微信支付显示系统繁忙问题

    这篇文章主要介绍了解决iOS调起微信支付显示系统繁忙问题,需要的朋友可以参考下
    2016-12-12
  • iOS如何将UIButton中的图片与文字上下对齐详解

    iOS如何将UIButton中的图片与文字上下对齐详解

    对于UIButton实现上显示图片,下显示文字这个需求估计各位iOS开发者们都不陌生,所以下面这篇文章主要给大家介绍了关于iOS如何将UIButton中图片与文字上下对齐的相关资料,文中通过示例代码介绍的非常详细,需要的朋友可以参考借鉴,下面来一起看看吧。
    2017-10-10
  • iOS实现视频压缩上传实例代码

    iOS实现视频压缩上传实例代码

    本篇文章主要介绍了iOS实现视频压缩上传实例代码,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-04-04
  • iOS 指压即达集成iOS9里的3D Touch的方法

    iOS 指压即达集成iOS9里的3D Touch的方法

    这篇文章主要介绍了iOS 指压即达集成iOS9里的3D Touch的方法,非常不错,具有参考借鉴价值,需要的朋友可以参考下
    2017-03-03
  • Objective-C优雅使用KVO观察属性值变化

    Objective-C优雅使用KVO观察属性值变化

    这篇文章主要为大家介绍了Objective-C优雅使用KVO观察属性值变化示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-08-08
  • iOS模仿电子书首页实现书架布局样式

    iOS模仿电子书首页实现书架布局样式

    这篇文章主要为大家详细介绍了iOS实现类似电子书首页效果样式,实现书架布局样式,感兴趣的小伙伴们可以参考一下
    2016-03-03

最新评论