有没有人知道如何在崩溃后重新连接到NSURLSession中的下载。
如果我的应用程序崩溃了,我相信无论如何都会在设备上继续下载,然后当我的应用重启时,我可以使用相同的sessionID:
NSURLSessionConfiguration.backgroundSessionConfiguration(sessionID)
但是,我应该调用'session.getTasksWithCompletionHandler'来查看是否有任何任务?文档不清楚。
我的UI为每个文件下载都有一个下载进度条,所以理想情况下,当我重新启动应用程序时,它会尝试重新连接并将进度挂钩回UI。
目前正在发生的事情是我重新启动下载,我的进度条闪烁,因为正在进行2次下载 - 旧的和新的下载,然后它自己进入状态......
答案 0 :(得分:0)
好的,这就是我在URL System Programming Guide:
中找到的内容在iOS和OS X中,当用户重新启动您的应用时,您的应用 应该立即创建后台配置对象 与您的任何未完成任务的会话相同的标识符 应用程序上次运行,然后为每个应用程序创建一个会话 配置对象。这些新会话同样是自动的 与正在进行的背景活动重新相关。
因此,一旦我再次创建会话并挂起委托,委托方法再次开始触发,我使用getTasksWithCompletionHandler查看是否有任何正在进行的任务并将其返回到我的UI和系统的其余部分