Does AFNetworking 2.0 Supports Background task?

i am using Afnetworking 2.0 library with NSURLSession.

i found in AFURLSessionManager they configure Session with default session , so if i need to download images in background then i have to set Session with Background configuration.

So , I have to change AFNetworking library for that or is there any other way for that in AFNetworking 2.0.


From Using NSURLSession:

The NSURLSession class supports background transfers while your app is suspended. Background transfers are provided only by sessions created using a background session configuration object (as returned by a call to backgroundSessionConfiguration: ).

You must configure your AFHTTPSessionManager to use the background session configuration if you want to do this:

NSURLSessionConfiguration *configuration = [NSURLSessionConfiguration backgroundSessionConfiguration:@"com.myApp.backgroundDownloadSession"]
AFHTTPSessionManager *backgroundManager = [[AFHTTPSessionManager alloc] initWithSessionConfiguration:configuration];

AFNetworking will set itself as the delegate. From the NSURLSession docs:

[T]he delegate will be retained until after the delegate has been sent the URLSession:didBecomeInvalidWithError: message

As a result, your manager will stick around as long as this session does.

Two side notes:

  • You should probably use use a separate AFHTTPSessionManager for background transfers (large downloads, etc.) You don't want literally all requests to be assigned a background URL session.

  • In case you want to retrieve the response without AFNetworking, note what the background session identifier is ('com.myApp.backgroundDownloadSession' in my sample code):

    An identifier for the new session configuration that is unique for your app. Your app can retrieve the download or the upload response later by creating a new background session with the same identifier.

  • 链接地址: http://www.djcxy.com/p/17402.html

    上一篇: UIKit Dynamics UICollisionBehavior碰撞没有反弹

    下一篇: AFNetworking 2.0支持后台任务吗?