UIApplication *app = [UIApplication sharedApplication];
__block UIBackgroundTaskIdentifier taskId;
taskId = [app beginBackgroundTaskWithExpirationHandler:^{
NSLog(@"后台任务超时被退出");
[app endBackgroundTask:taskId];
taskId = UIBackgroundTaskInvalid;
}];
if(taskId == UIBackgroundTaskInvalid)
{
NSLog(@"开启后台任务失败");
return;
}
NSLog(@"remining seconde %f",[app backgroundTimeRemaining]);只要在- (void)applicationDidEnterBackground:(UIApplication *)application
写上这段就可以向后台申请600秒
其实主要是beginBackgroundTaskwithExpirationHandler这段写了就可以申请了,其他都是一些对于异常处理,但是ios7下面backgroundremining打印出来时间是一个很大的数字,具体原因还不知道,等以后补充吧。
本文详细介绍了如何在iOS应用中申请并管理后台任务,包括使用UIApplication接口、背景任务超时处理及异常情况下的应对策略。重点在于理解并实现应用在进入后台状态时能够继续运行指定的任务,最多可达600秒。

被折叠的 条评论
为什么被折叠?



