Поддерживает ли AFNetworking поддержку поддержки?

Я занимаюсь расследованием AFNetworking в качестве замены для ASIHTTPRequest и замечаю полное отсутствие информации о том, поддерживает ли он загрузку/загрузку фонограмм.

С объектом ASIHTTPReqeust все, что вам нужно сделать, это вызвать [request setShouldContinueWhenAppEntersBackground:YES], и запрос будет продолжен в фоновом режиме. Есть ли поддержка для этого в AFNetworking?

Ответ 1

EDIT: по сравнению с AFNetworking 1.0RC1, это явная функция. AFURLConnectionOperation теперь имеет метод setShouldExecuteAsBackgroundTaskWithExpirationHandler:, который прозрачно управляет всем этим для вас.


Это неявная функция, поэтому я действительно не думал о ее рекламе. Все, что вам нужно сделать, это:


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

Или, если вы управляете своими операциями в своем собственном NSOperationQueue, просто -cancelAllOperations здесь.