我使用NSURLSession
的多部分表单数据将文件上传到服务器。当应用程序进入后台时,我想暂停请求并在应用程序再次进入前台时恢复。所以我只需[session suspend]
和[session resume]
。当应用程序仅在后台运行时,此功能正常。但是如果设备被锁定,当回到前台并尝试恢复时,我会收到网络连接丢失错误。我知道当设备被锁定时,所有打开的套接字都会被关闭,因此会出现问题,但有没有办法让这项工作无需从头开始上传?
答案 0 :(得分:3)
您应该在应用程序转到后台之前将前台会话切换到后台会话,然后无需暂停它。操作系统将在后台(最终)上传您的文件。
答案 1 :(得分:1)
不幸的是,根据documentation,您需要使用文件来执行后台上传。
来自"背景转移注意事项":
仅支持从文件上传任务(从数据对象上传或在程序退出后流将失败)。
(除此之外,我们无法保证您的应用何时或为何会被终止。尝试单独避免设备锁定是不够的;您可以通过其他方式终止您的应用。)< / p>