溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

iOS密碼在進入后臺1小時后重新設置

發(fā)布時間:2020-09-26 06:50:09 來源:腳本之家 閱讀:141 作者:弦外雨 欄目:移動開發(fā)

廢話不多說了,直接給大家貼代碼了,具體代碼如下所示:

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小時后重新設置,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對億速云網(wǎng)站的支持!

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內容。

AI