¿AFNetworking 2.0 admite tareas de background? – iOS7

Estoy usando la biblioteca Afnetworking 2.0 con NSURLSession.

Encontré en AFURLSessionManager que configuran Session con la session pnetworkingeterminada, así que si necesito download imágenes en segundo plano, tengo que configurar Session con configuration de background.

Entonces, tengo que cambiar la biblioteca de AFNetworking por eso o hay alguna otra forma para eso en AFNetworking 2.0.

De usar NSURLSession :

La class NSURLSession admite transferencias de background mientras su aplicación está suspendida. Las transferencias de background se proporcionan solo por sesiones creadas con un object de configuration de session en segundo plano (como lo devuelve una llamada a backgroundSessionConfiguration: .

Debe configurar su AFHTTPSessionManager para usar la configuration de la session en segundo plano si desea hacer esto:

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

AFNetworking se configurará como el delegado. De los documentos de NSURLSession:

[El] delegado se URLSession:didBecomeInvalidWithError: hasta después de que el delegado haya enviado la URLSession:didBecomeInvalidWithError: message

Como resultado, su gerente se quedará mientras esta session lo haga.

Dos notas laterales:

  1. Probablemente debería utilizar un AFHTTPSessionManager por separado para las transferencias de background (descargas grandes, etc.). No desea literalmente que todas las requestes se asignen a una session de URL en segundo plano.

  2. En caso de que desee recuperar la respuesta sin AFNetworking, tenga en count lo que es el identificador de session en segundo plano ('com.myApp.backgroundDownloadSession' en mi código de ejemplo):

    Un identificador para la nueva configuration de session que es única para su aplicación. Su aplicación puede recuperar la descarga o la respuesta de carga más tarde creando una nueva session de background con el mismo identificador.