我想在几分钟后终止应用程序,而它在后台运行
我想在几分钟后终止应用程序,而它在后台运行。
像这样的步骤:
按主页button,然后在后台运行应用程序。 2分钟后,应用程序自动终止。
我find一个方法如下:
- (void)applicationDidEnterBackground:(UIApplication *)application { UIApplication* app = [UIApplication sharedApplication]; bgTask = [app beginBackgroundTaskWithExpirationHandler:^{ [app endBackgroundTask:bgTask]; bgTask = UIBackgroundTaskInvalid; }]; // Start the long-running task and return immediately. dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{ // Do the work associated with the task. //============================ // here i want to add a timer //============================= [app endBackgroundTask:bgTask]; bgTask = UIBackgroundTaskInvalid; }); }
如你所见,我想在那个地方添加一个计时器。
但计时器不能在后台工作。 我也试过了performSelector:afterdelay:
我怎样才能做到这一点?
10分钟后,所有的应用程序终止。
如果您必须在2分钟后退出应用程序,
在(applicationWillResignActive)中设置定时器
我想你的应用程序在后台进行某种工作,否则不需要在后台运行它。
我进一步假设你有一些runloop去,因为你想在一定的时间后终止,而不是一些任务完成后。
所以我build议在应用程序进入后台时logging系统时间,然后在您的runloop中检查当前系统时间,每次迭代一次。 如果大于初始时间+ 2分钟,则终止后台活动。