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

ymo*_*tov 18 cocoa-touch ios nsurlsession

问题在于NSURLSessionNSURLSessionUploadTask.

我正在将大文件上传到服务器,并注意到当我强制退出应用程序时,整个后台上传才停止.但是,当应用程序通过Xcode /调试器运行时上传开始时,即使我停止通过Xcode"停止"按钮运行应用程序,我的上传也很好.我怀疑强制使用Xcode退出应用程序模拟iOS系统命令而不是用户操作.

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

ymo*_*tov 17

我可以在一堆测试后确认,如果应用程序刚刚进入后台,后台任务将运行正常.但是,如果用户强制手动退出应用程序,则iOS会取消所有计划的后台任务.因此,下次启动应用程序时,我将使用已取消任务的错误代码获取代理的所有回调.

希望它可以帮助有人看到同样的事情.


小智 5

来自Apple 关于后台执行的文档:

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