1

我目前正在用AFNetworking替换ASIHTTP代码。我有一个场景,我有多个文件要与服务器同步。我希望此任务在后台继续进行,并且我注意到当我在后台时下载正在进行中。如果我需要做任何额外的电话来支持后台下载,我只是好奇和困惑。

我在一个线程上找到了以下内容。

__block UIBackgroundTaskIdentifier backgroundTaskIdentifier = [application   beginBackgroundTaskWithExpirationHandler:^(void) {
    [application endBackgroundTask:backgroundTaskIdentifier];
    [[NordecaAFAPIClient sharedClientWithBaseURL:[ECUserDefaults getNordecaApiURL]].operationQueue cancelAllOperations] ;
}];

为了支持后台下载,我真正需要写什么?

我的另一个问题是,在 ? 中找到的 shouldResume 标志是什么意思AFDownloadRequestOperation

4

1 回答 1

4

AFNetworking 有后台支持吗?, AFURLConnectionOperation 现在已经支持setShouldExecuteAsBackgroundTaskWithExpirationHandler:,它基本上为你做后台下载管理,因为它的性能和正常的 UIBackgroundTaskIdentifier 代码applicationDidEnterBackground一样,就像你在问题中写的一样。

而关于shouldResumein AFDownloadRequestOperation,它是一个符号,表示当文件临时下载到“不完整”文件夹中时,这是一个临时路径,所以在计算已经下载的数据大小以便知道从哪里恢复下载时,它将返回正确的范围。

于 2012-12-13T06:32:04.437 回答