AFNetworking
の代わりにASIHTTPRequest
を調査中ですが、バックグラウンドでのダウンロード/アップロードをサポートしているかどうかに関する情報が完全に不足していることに気付きました。
ASIHTTPReqeust
オブジェクトを使用すると、[request setShouldContinueWhenAppEntersBackground:YES]
を呼び出すだけで、リクエストはバックグラウンドで続行されます。 AFNetworking
でこれをサポートしていますか?
[〜#〜] edit [〜#〜]: AFNetworking 1.0RC1 の時点で、これは明示的機能。 AFURLConnectionOperation
にメソッドsetShouldExecuteAsBackgroundTaskWithExpirationHandler:
が追加されました。このメソッドは、これらすべてを透過的に管理します。
これは暗黙の機能なので、宣伝することはあまり考えていませんでした。あなたがする必要があるのは:
- (void)applicationWillResignActive:(UIApplication *)application {
__block UIBackgroundTaskIdentifier backgroundTaskIdentifier = [application beginBackgroundTaskWithExpirationHandler:^(void) {
[application endBackgroundTask:backgroundTaskIdentifier];
[[YourRestClient sharedClient] cancelAllHTTPOperations];
}];
}
または、独自のNSOperationQueue
で操作を管理する場合は、代わりにここで-cancelAllOperations
だけです。