我正在使用NSOperation
(s) 下载文件并添加它们NSOperationQueue
。NSOperationQueue
当应用程序进入后台时被暂停。如果队列不会在后台挂起并开始下一个操作,是否有任何解决方法?
问问题
2145 次
2 回答
9
当您的队列正在运行时,使用该UIApplication beginBackgroundTaskWithExpirationHandler
调用启动一个后台任务,以保持您的下载运行。
我通常用自己的beginBackgroundTaskWithExpirationHandler
调用来结束每个操作,并在我调用之前排队下一个操作endBackgroundTask
,这样队列就会继续运行。
请注意,单个后台任务限制为 10 分钟的操作,之后 iOS 将暂停应用程序。
于 2012-12-13T10:14:38.513 回答
0
-(void)applicationDidEnterBackground:(UIApplication *)application {
__block UIBackgroundTaskIdentifier task = [application beginBackgroundTaskWithExpirationHandler:^{
[application endBackgroundTask:task];
task = UIBackgroundTaskInvalid;
}];
}
于 2020-03-08T12:17:04.380 回答