AFNetworking后台任务
问题描述:
我目前正致力于用AFNetworking替换ASIHTTP的代码。我有一个场景,我有多个文件与服务器同步。我希望这个任务能够在后台继续,我注意到当我在后台时下载正在进行。我只是好奇和困惑,如果我需要做任何额外的电话来支持后台下载。AFNetworking后台任务
我在一个线程中发现了以下内容。
__block UIBackgroundTaskIdentifier backgroundTaskIdentifier = [application beginBackgroundTaskWithExpirationHandler:^(void) {
[application endBackgroundTask:backgroundTaskIdentifier];
[[NordecaAFAPIClient sharedClientWithBaseURL:[ECUserDefaults getNordecaApiURL]].operationQueue cancelAllOperations] ;
}];
为了支持后台下载,我真的需要写些什么?
我的另一个问题是,AFDownloadRequestOperation
中的shouldResume标志是什么意思?
答
如Does AFNetworking have backgrounding support?,AFURLConnectionOperation现在已经支持setShouldExecuteAsBackgroundTaskWithExpirationHandler:
,这基本上没有后台下载管理你的,因为它的性能是一样的,如applicationDidEnterBackground
正常UIBackgroundTaskIdentifier代码,就像你在问题中写道。
而且随着AFDownloadRequestOperation
方面的shouldResume
,这是 一个符号,表明当文件 暂时下载到“不完整”的文件夹,这是一个临时 路径,因此,在计算让本已下载的数据大小时到 知道从哪里恢复下载,它会返回一个正确的 范围。
此问题是重复http://*.com/questions/7800614/does-afnetworking-have-backgrounding-support – tkanzakic