gpt4 book ai didi

ios - 离开应用程序并返回 ios 时的计时器

转载 作者:行者123 更新时间:2023-11-29 10:36:00 26 4
gpt4 key购买 nike

目前在我的 iOS 应用程序上,当用户退出主屏幕并返回应用程序时,它会请求在我的 AppDelegate 中设置的登录凭据。但我想做的是,如果用户退出应用程序并在 2 分钟内返回,计时器将重置,用户无需输入密码。当用户在 2 分钟后返回应用程序时,它会提醒他再次输入密码。任何帮助将不胜感激。谢谢!

最佳答案

使用 NSUserDefaultsNSDate 存储在您的应用委托(delegate)中

- (void)applicationDidEnterBackground:(UIApplication *)application {
[[NSUserDefaults standardUserDefaults] setObject:[NSDate date] forKey:@"myDateKey"];
}

- (void)applicationWillEnterForeground:(UIApplication *)application {
NSDate *bgDate = (NSDate *)[[NSUserDefaults standardUserDefaults] objectForKey: @"myDateKey"];
if(fabs([bgDate timeIntervalSinceNow]) > 120.00) {
//logout
}
[[NSUserDefaults standardUserDefaults] removeObjectForKey:@"myDateKey"];
}

更新:

@mun chun 的好点如果应用必须实现一些东西来处理时钟变化我们可以使用这样的东西

- (void)applicationDidEnterBackground:(UIApplication *)application {
[[NSUserDefaults standardUserDefaults] setFloat: [[NSProcessInfo processInfo] systemUptime] forKey:@"myDateKey"];
}

- (void)applicationWillEnterForeground:(UIApplication *)application {
float bgTime = [[NSUserDefaults standardUserDefaults] floatForKey: @"myDateKey"];
if(fabs([[NSProcessInfo processInfo] systemUptime] - bgTime) > 120.00) {
//logout
}
[[NSUserDefaults standardUserDefaults] removeObjectForKey:@"myDateKey"];
}

显然,一旦手机重启,时间将被重置,在这种情况下,我们必须确保添加验证。还需要注意的是,myDateKey 应该在适当的应用程序模式下被删除。

关于ios - 离开应用程序并返回 ios 时的计时器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27045405/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com