是否有可能在应用程序处于iphone后台10分钟时自动注销用户?

时间:2015-04-09 09:35:29

标签: xcode background-service

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

2 个答案:

答案 0 :(得分:2)

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

@property (nonatomic, strong) NSDate *backgroundedDate;

然后在applicationDidEnterBackground:中将日期设置为当前日期:

- (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];
        }
    }
}

答案 1 :(得分:0)

您可以做这样的事情

static dispatch_once_t once;
dispatch_once(&once, ^ {
NSLog(@"Do it once");
self.backgroundedDate = [NSDate date];
});

呼叫应用程序WillEnterForeground

- (void)applicationWillEnterForeground:(UIApplication *)application {
if (self.backgroundedDate) {    
NSLog(@"Forground %@",[NSDate date]);    
BOOL isTimedout = [self.backgroundedDate timeIntervalSinceNow] <= -(5 * 60);
if (isTimedout) {
//Do your work
}
}
}