NSURLSessionDataTask在后台暂停吗?
问题描述:
我想知道背景中NSURLSessionDataTask的行为。NSURLSessionDataTask在后台暂停吗?
NSURLSessionDataTask是否立即暂停(只要应用程序进入后台)?或者iOS会给出一些时间,希望30秒左右直到响应?
答
不,您不会在defaultSessionConfiguration
的背景模式下继续使用NSURLSessionDataTask
!
如果你想在后台继续执行,那么你需要配置会话backgroundSessionConfiguration
。
当您使用backgroundSessionConfiguration
你不能直接发送data
到服务器,你必须给文件的URL并从URL你要发送的字节或块到服务器,你必须使用uploadTask
或downloadTask
与backgroundSessionConfiguration
! !
如果你想在进入后台后很少的时间,那么你可以使用UIBackgroundTaskIdentifier
。这些都是非常大的概念来解释这里的每一件事情,最好是你从苹果阅读文档或一些教程!你应该参考Apple Documentation for Background Execution和Apple documentation for NSURLSession!
我建议开始[这里](https://developer.apple.com/library/content/documentation/Cocoa/Conceptual/URLLoadingSystem/NSURLSessionConcepts/NSURLSessionConcepts.html#//apple_ref/doc/uid/10000165i- CH2-SW1)和[这里](https://developer.apple.com/reference/foundation/nsurlsessiondatatask)。 – dirtydanee