Xcode 当应用程序在iphone后台运行10分钟时,是否可以自动注销用户?

Xcode 当应用程序在iphone后台运行10分钟时,是否可以自动注销用户?,xcode,background-service,Xcode,Background Service,我有一个应用程序需要注销空闲10分钟的用户,即应用程序最小化或在后台运行,是否可能?我搜索了很多,但没有找到解决方案。如果可能的话,请帮助我。 谢谢 在appdelegate中,添加存储应用进入后台时间的属性 像@property(非原子,强)NSDate*backgroundedDate 然后在应用程序标识符背景中:将日期设置为当前日期: - (void)applicationDidEnterBackground:(UIApplication *)application { self.

我有一个应用程序需要注销空闲10分钟的用户,即应用程序最小化或在后台运行,是否可能?我搜索了很多,但没有找到解决方案。如果可能的话,请帮助我。
谢谢

在appdelegate中,添加存储应用进入后台时间的属性

@property(非原子,强)NSDate*backgroundedDate

然后在
应用程序标识符背景中:
将日期设置为当前日期:

- (void)applicationDidEnterBackground:(UIApplication *)application {
    self.backgroundedDate = [NSDate date];
}
然后,当应用程序返回前台时,检查时差:

- (void)applicationWillEnterForeground:(UIApplication *)application {   
    if (self.backgroundedDate) {
        BOOL isTimedout =[self.backgroundedDate timeIntervalSinceNow] <= -(10 * 60);
        if (isTimedout) {
            [yourApiClass logou];
        }
    }
}
-(void)应用程序将进入前台:(UIApplication*)应用程序{
if(自背景日期){

BOOL isTimedout=[self.backgroundedDate timeIntervalSinceNow]您可以这样做

static dispatch_once_t once;
dispatch_once(&once, ^ {
NSLog(@"Do it once");
self.backgroundedDate = [NSDate date];
});
调用应用程序将进入前台

- (void)applicationWillEnterForeground:(UIApplication *)application {
if (self.backgroundedDate) {    
NSLog(@"Forground %@",[NSDate date]);    
BOOL isTimedout = [self.backgroundedDate timeIntervalSinceNow] <= -(5 * 60);
if (isTimedout) {
//Do your work
}
}
}
-(void)应用程序将进入前台:(UIApplication*)应用程序{
if(self.backgroundedDate){
NSLog(@“放弃%@,[NSDate日期]);

BOOL isTimedout=[self.backgroundedDate timeintervalencesnow]定义注销?你是否在后台保持一些连接打开?我只想在10分钟后调用一个方法,而不需要任何后台支持。是否可能,因为我已经尝试过,但该方法在5分钟后没有调用。我使用计时器调用了该方法。不,这是不可能的,因为当你的应用程序在后台时,它会被挂起你不能运行任何代码。你唯一能做的就是当应用程序返回前台时,检查你的应用程序被后台关闭了多长时间,如果超过10分钟,请拨打注销代码,感谢rckoenes的帮助,但我的条件是,如果在这段时间内应用程序处于后台状态,我只想在10分钟后注销用户ound.如您建议的代码所示,如果用户在1天内没有打开应用程序,则用户将在线1天。如果您的应用程序处于后台(挂起),则无法执行任何代码。应用程序将进入前台该函数工作正常,但如何从该函数调用pop first View Controller(在我的例子中是LoginPage)。应用程序每次都会崩溃。