Pregunta

Estoy en el proceso de investigar AFNetworking como reemplazo de ASIHTTPRequest, y observe una falta completa de información sobre si admite descargas/cargas de fondo.

Con un ASIHTTPReqeust objeto, todo lo que tienes que hacer es llamar [request setShouldContinueWhenAppEntersBackground:YES] y la solicitud continuará en segundo plano. ¿Hay algún apoyo para esto en AFNetworking?

¿Fue útil?

Solución

EDITAR: A partir de Afnetworking 1.0rc1, esto es un explícito rasgo. AFURLConnectionOperation ahora tiene el método setShouldExecuteAsBackgroundTaskWithExpirationHandler:, que administra de manera transparente todo esto para ti.


Es una característica implícita, por lo que realmente no pensé en anunciarla. Todo lo que necesitas hacer es:


- (void)applicationWillResignActive:(UIApplication *)application {
    __block UIBackgroundTaskIdentifier backgroundTaskIdentifier = [application beginBackgroundTaskWithExpirationHandler:^(void) {
        [application endBackgroundTask:backgroundTaskIdentifier];
        [[YourRestClient sharedClient] cancelAllHTTPOperations];
    }];
}

O, si administra sus operaciones por su cuenta NSOperationQueue, sólo -cancelAllOperations aquí en su lugar.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top