Есть ли у Afnetworking поддержка фоновой поддержки?
-
22-10-2019 - |
Вопрос
Я нахожусь в процессе расследования 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
здесь вместо этого.