iOS:强制退出应用程序是否禁用使用NSURLSession的后台上传?

问题在于NSURLSessionNSURLSessionUploadTask

我正在上传大文件到服务器,并注意到,当我强制退出应用程序整个背景上传只是停止。 但是,当应用程序通过Xcode /debugging器运行时上载启动时, 即使停止通过Xcode“停止”button运行应用程序,我的上传也可以完成。 我怀疑强制使用Xcode退出应用程序会模拟iOS系统命令而不是用户操作。

所以我的问题是,当用户强制退出应用程序时,iOS是否会立即取消NSURLSessionUploadTask ? 出于某种原因,我会至less期待一个错误callback的应用程序,但没有任何反应。

我现在可以确认一些testing后,后台任务将运行良好,如果应用程序只是放在后台。 但是,如果用户强制手动退出应用程序,则iOS将取消所有预定的后台任务。 所以下一次启动应用程序时,我得到了所有的代表与一个取消任务的错误代码的callback。

希望它可以帮助有人看着同样的事情。

从苹果关于后台执行的文档 :

如果任务尚未完成,系统终止您的应用程序,系统将自动继续在后台pipe理任务。 如果用户终止您的应用程序,系统将取消所有待处理的任务。