Вопрос

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

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

Это было полезно?

Решение

РЕДАКТИРОВАТЬ: Как AFNETWORKING 1.0RC1, это явный особенность. AFURLConnectionOperation теперь есть метод setShouldExecuteAsBackgroundTaskWithExpirationHandler:, который прозрачно управляет всем этим для вас.


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


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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top