任务完成 - 应用程序可以要求系统有额外的时间来完成给定的任务。
我正在使用此方法进行任务完成,
- (void)applicationDidEnterBackground:(UIApplication *)application
{
UIApplication *app = [UIApplication sharedApplication];
bgTask = [app beginBackgroundTaskWithExpirationHandler:^
{
NSLog(@"This is Testing");
[app endBackgroundTask:bgTask];
bgTask=UIBackgroundTaskInvalid;
}];
}
但我没有从这种方法获得任何输出。有人告诉我,我做错了什么。可以告诉任何最好的方法来完成任务。
此致
Arunkumar.P
答案 0 :(得分:1)
您正在设置过期处理程序,但您似乎并未在后台执行任何操作。看起来您上面的代码是从iOS应用程序编程指南的Executing Code in the Background部分复制的。该示例中的下一段代码是:
// 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.
[app endBackgroundTask:bgTask];
bgTask = UIBackgroundTaskInvalid;
});
在达到时间限制(上次检查时间为10分钟)之前,不会调用过期处理程序;您在异步分派的任务中完成工作,而不是在到期处理程序中。
答案 1 :(得分:0)