我正在调查AFNetworking
作为ASIHTTPRequest
的替代品,并注意到它是否支持后台下载/上传完全缺乏信息。
使用ASIHTTPReqeust
对象,您所要做的就是致电[request setShouldContinueWhenAppEntersBackground:YES]
,请求将在后台继续。在AFNetworking
中是否有对此的支持?
答案 0 :(得分:48)
编辑:自AFNetworking 1.0RC1起,这是显式功能。 AFURLConnectionOperation
现在有方法setShouldExecuteAsBackgroundTaskWithExpirationHandler:
,它可以透明地为您管理所有这些。
这是一个隐含的功能,所以我并没有考虑做广告。您需要做的就是:
- (void)applicationWillResignActive:(UIApplication *)application {
__block UIBackgroundTaskIdentifier backgroundTaskIdentifier = [application beginBackgroundTaskWithExpirationHandler:^(void) {
[application endBackgroundTask:backgroundTaskIdentifier];
[[YourRestClient sharedClient] cancelAllHTTPOperations];
}];
}
或者,如果您使用自己的NSOperationQueue
管理您的操作,请改为-cancelAllOperations
。