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打印出来时间是一个很大的数字,具体原因还不知道,等以后补充吧。