NSURLSession从崩溃中恢复

时间:2015-01-01 19:58:59

标签: ios swift download nsurlsession

有没有人知道如何在崩溃后重新连接到NSURLSession中的下载。

如果我的应用程序崩溃了,我相信无论如何都会在设备上继续下载,然后当我的应用重启时,我可以使用相同的sessionID:

NSURLSessionConfiguration.backgroundSessionConfiguration(sessionID)

但是,我应该调用'session.getTasksWithCompletionHandler'来查看是否有任何任务?文档不清楚。

我的UI为每个文件下载都有一个下载进度条,所以理想情况下,当我重新启动应用程序时,它会尝试重新连接并将进度挂钩回UI。

目前正在发生的事情是我重新启动下载,我的进度条闪烁,因为正在进行2次下载 - 旧的和新的下载,然后它自己进入状态......

1 个答案:

答案 0 :(得分:0)

好的,这就是我在URL System Programming Guide

中找到的内容
  

在iOS和OS X中,当用户重新启动您的应用时,您的应用   应该立即创建后台配置对象   与您的任何未完成任务的会话相同的标识符   应用程序上次运行,然后为每个应用程序创建一个会话   配置对象。这些新会话同样是自动的   与正在进行的背景活动重新相关。

因此,一旦我再次创建会话并挂起委托,委托方法再次开始触发,我使用getTasksWithCompletionHandler查看是否有任何正在进行的任务并将其返回到我的UI和系统的其余部分