我正在使用NSURLSession的多部分表单数据将文件上传到服务器。当应用程序在后台运行时,我想挂起请求,并在应用程序再次出现在前台时继续运行。所以我简单地做了[session suspend]和[session resume]。当应用程序只在后台运行时,这是正常工作的。但如果设备被锁定,当返回到前台并尝试恢复时,我会收到网络连接丢失错误。我知道当设备被锁定时,所有打开的套接字都会被关闭,因此会出现这个问题,但是有没有什么方法可以在不需要从头开始上传的情况下工作呢?
发布于 2017-02-17 21:01:04
您应该在应用程序转到后台之前将您的前台会话切换到后台会话,这样就不需要暂停它。您的文件将由操作系统在后台上传(最终)。
发布于 2017-02-23 02:48:33
不幸的是,根据documentation,您需要使用文件来执行后台上传。
摘自“后台传输注意事项”:
仅支持从文件上传任务(从数据对象上传,否则程序退出后流将失败)。
(除此之外,不能保证您的应用程序将在何时或为什么被终止。仅试图避免设备锁定是不够的;还有许多其他方法可以终止您的应用程序。)
https://stackoverflow.com/questions/42292936
复制相似问题