我正在使用NSOperation
下载文件并添加NSOperationQueue
。当应用程序进入后台时,NSOperationQueue
将被暂停。如果队列不在后台暂停并开始下一个操作,是否有任何解决方法?
答案 0 :(得分:6)
在您的队列运行时,使用UIApplication beginBackgroundTaskWithExpirationHandler
调用启动后台任务,以保持您的下载运行。
我通常用自己的beginBackgroundTaskWithExpirationHandler
调用包装每个操作,然后在我调用endBackgroundTask
之前将下一个操作排队,直到队列继续运行。
note 个人后台任务仅限10分钟的操作,之后iOS将暂停该应用。
答案 1 :(得分:0)
-(void)applicationDidEnterBackground:(UIApplication *)application {
__block UIBackgroundTaskIdentifier task = [application beginBackgroundTaskWithExpirationHandler:^{
[application endBackgroundTask:task];
task = UIBackgroundTaskInvalid;
}];
}