【发布时间】:2015-11-01 11:02:16
【问题描述】:
我已经实现了NSURLSession 从我们的服务器下载相当大的文件。现在只要我在前台或后台工作并返回应用程序,事务就可以正常工作并完成。
但如果我使用多任务屏幕强制退出应用程序并再次重新打开应用程序。下载过程尚未完成,尽管正如我从文档中了解到的那样,它应该是文档状态:
如果 iOS 应用程序被系统终止并重新启动,该应用程序可以使用相同的标识符来创建新的配置对象和会话,并检索终止时正在进行的传输状态。此行为仅适用于系统正常终止应用程序。如果用户从多任务屏幕终止应用程序,系统将取消会话的所有后台传输。此外,系统不会自动重新启动用户强制退出的应用程序。 用户必须明确地重新启动应用程序才能重新开始传输。
意味着如果我重新启动应用程序,那么在 force-quit 之前的事务应该重新开始,或者是吗?是否需要执行其他操作才能使其正常工作?
更新:我偶然发现了这个项目: https://github.com/Heikowi/HWIFileDownload#force-quit
说明:
强制退出
应用被用户杀死后,下载不会在后台继续。在 iOS 7(及更高版本)上,恢复数据被传回。
意味着即使应用程序在后台被用户杀死,也有一种方法可以接收简历数据。只有项目是用 Objective-C 编写的,我不明白他们在做什么来实现这一点。
【问题讨论】:
-
我遇到了同样的问题.. 你能更新我一些关于这个的代码
-
@PRADIPKUMAR 接受的答案解决了这个问题。
标签: ios swift nsurlsession forceclose nsurlsessiondownloadtask