Есть ли у AFNetworking фоновая поддержка?
Я нахожусь в процессе расследования AFNetworking
в качестве замены ASIHTTPRequest
и обратите внимание на полное отсутствие информации о том, поддерживает ли он фоновые загрузки / выгрузки.
С ASIHTTPReqeust
объект, все, что вам нужно сделать, это позвонить [request setShouldContinueWhenAppEntersBackground:YES]
и запрос будет продолжаться в фоновом режиме. Есть ли поддержка для этого в AFNetworking
?
1 ответ
РЕДАКТИРОВАТЬ: Начиная с AFNetworking 1.0RC1, это явная особенность. AFURLConnectionOperation
теперь есть метод setShouldExecuteAsBackgroundTaskWithExpirationHandler:
, который прозрачно управляет всем этим для вас.
Это неявная особенность, поэтому я не задумывался о ее рекламе. Все, что вам нужно сделать, это:
- (void)applicationWillResignActive:(UIApplication *)application {
__block UIBackgroundTaskIdentifier backgroundTaskIdentifier = [application beginBackgroundTaskWithExpirationHandler:^(void) {
[application endBackgroundTask:backgroundTaskIdentifier];
[[YourRestClient sharedClient] cancelAllHTTPOperations];
}];
}
Или, если вы управляете своими операциями по-своему NSOperationQueue
, просто -cancelAllOperations
здесь вместо