Hat AFNetworking Hintergrundunterstützung?
-
22-10-2019 - |
Frage
Ich bin gerade untersucht AFNetworking
als Ersatz für ASIHTTPRequest
, und bemerken Sie einen vollständigen Mangel an Informationen darüber, ob es Hintergrunddownloads/Uploads unterstützt.
Mit einem ASIHTTPReqeust
Objekt, alles was Sie tun müssen, ist anzurufen [request setShouldContinueWhenAppEntersBackground:YES]
und die Anfrage wird im Hintergrund fortgesetzt. Gibt es eine Unterstützung dafür in AFNetworking
?
Lösung
BEARBEITEN: Ab AFNetworking 1.0RC1, das ist ein explizit Besonderheit. AFURLConnectionOperation
Jetzt hat die Methode setShouldExecuteAsBackgroundTaskWithExpirationHandler:
, was das alles für Sie transparent verwaltet.
Es ist eine implizite Funktion, also habe ich nicht wirklich darüber nachgedacht, es zu werben. Alles, was Sie tun müssen, ist:
- (void)applicationWillResignActive:(UIApplication *)application {
__block UIBackgroundTaskIdentifier backgroundTaskIdentifier = [application beginBackgroundTaskWithExpirationHandler:^(void) {
[application endBackgroundTask:backgroundTaskIdentifier];
[[YourRestClient sharedClient] cancelAllHTTPOperations];
}];
}
Oder wenn Sie Ihre Operationen in Ihrem eigenen verwalten NSOperationQueue
, nur -cancelAllOperations
stattdessen hier.