ios - AFNetworking后台下载一段时间后自动停止,我需要恢复它
<p><p>我正在使用 AFNetwork(它基于 NAFDownloadRequestOperation),我的任务是从亚马逊存储桶中一一下载多个 zip 文件。
当应用程序处于前台时,一切都运行良好,但是当应用程序进入后台模式时,时间下载只运行一段时间,它会自动停止。我读了一些关于它的博客,因为我在下载停止之前调用了以下方法。 </p>
<pre><code> [self.operationUpdate setShouldExecuteAsBackgroundTaskWithExpirationHandler:^{
NSLog(@"downloading will stop");
}];
</code></pre>
<ul>
<li><strong>问题</strong>后台模式下载自动停止</li>
<li><strong>我想要什么</strong>:如果下载在后台停止并且当应用再次进入前台时,我需要从该点继续下载。</li>
</ul>
<p>我也在 AppDelegate 中使用了以下代码,但我不明白如何恢复之前的下载。</p>
<pre><code>__block UIBackgroundTaskIdentifier backgroundTaskIdentifier = [application beginBackgroundTaskWithExpirationHandler:^(void) {
;
NSLog(@"applicationWillResignActive");
;
// [ cancelAllHTTPOperations];
}];
</code></pre>
<p>如果有人有任何解决方案,请告诉我,提前谢谢。</p></p>
<br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
<p><p>您应该使用 <a href="https://github.com/steipete/AFDownloadRequestOperation" rel="noreferrer noopener nofollow">AFDownloadRequestOperation</a> </p>
<p>您的请求将如下所示</p>
<pre><code>AFDownloadRequestOperation *operation = [ initWithRequest:request targetPath:path shouldResume:YES];
[operation setCompletionBlockWithSuccess:^(AFHTTPRequestOperation *operation, id responseObject) {
NSLog(@"Successfully downloaded file to %@", path);
} failure:^(AFHTTPRequestOperation *operation, NSError *error) {
NSLog(@"Error: %@", error);
}];
;
</code></pre>
<p>重新启动应用程序并生成具有相同 url 的请求后,它将继续下载。 "shouldResume:YES"有效。</p>
<p>因此,您可以在后台任务中重新创建完成下载的请求</p>
<pre><code>__block UIBackgroundTaskIdentifier backgroundTaskIdentifier = [application beginBackgroundTaskWithExpirationHandler:^(void) {
;
NSLog(@"applicationWillResignActive");
;
// recreate here your request to finish fownload,
//or recreate in when app will enter foreground
}];
</code></pre>
<p>希望对你有帮助</p></p>
<p style="font-size: 20px;">关于ios - AFNetworking后台下载一段时间后自动停止,我需要恢复它,我们在Stack Overflow上找到一个类似的问题:
<a href="https://stackoverflow.com/questions/31176421/" rel="noreferrer noopener nofollow" style="color: red;">
https://stackoverflow.com/questions/31176421/
</a>
</p>
页:
[1]