当应用程序转到后台时,继续运行NSOperationQueue

Afn*_*nan 3 multithreading nsoperation nsoperationqueue grand-central-dispatch ios

我正在使用NSOperation(s)下载文件并添加它们NSOperationQueue.NSOperationQueue当应用程序进入后台时,它会被暂停.如果队列不在后台暂停并开始下一个操作,是否有任何解决方法?

Ton*_*ion 6

当您的队列正在运行时,使用该UIApplication beginBackgroundTaskWithExpirationHandler调用启动后台任务,以保持您的下载运行.

我通常用自己的beginBackgroundTaskWithExpirationHandler调用来包装每个操作,并在我调用endBackgroundTask队列保持运行之前将下一个操作排队.

请注意,个人后台任务仅限于10分钟的操作,之后iOS将暂停该应用程序.

  • 我意识到这个评论是在几年前,但我很好奇你是如何实现这一点的.你在NSOperation子类中调用`beginBackgroundTaskWithExpirationHandler`吗? (3认同)