首页 > 解决方案 > 为什么后台使用backgroundSession上传任务时会打印进度回调信息

问题描述

我想问一个问题,我在后台backgroundSessionConfigurationWithIdentifier上传任务时遇到了以下问题:

背景:我有很多上传任务(假设有200个),我会在一个for循环中创建200个作业,加入队列,队列最大并发数为4,我backgroundSession用来上传,我实现handleEventsForBackgroundURLSession方法在,APPDelegate并打印一些信息(interceptApplication调用URLSession),然后实现NSURLSession URLSessionDidFinishEventsForBackgroundURLSession代理方法,并调用handleEventsForBackgroundURLSession completionHandler(并打印日志URLSessionDidFinishEventsForBackgroundURLSession)。

问题

  1. 我发现程序进入后台后会打印进度信息(但我查了信息说后台上传时不会有进度回调,只有didCompleteWithError在所有后台任务完成后才为每个任务调用方法)。
  2. 因为任务很多,我在handleEventsForBackgroundURLSession并且URLSessionDidFinishEventsForBackgroundURLSession输出信息会被打印很多次,我以为所有的任务都可以完成,但是我发现程序运行一段时间后会停止打印日志信息。

任何帮助表示赞赏。

标签: objective-cbackgroundnsurlsessionuploadtask

解决方案


推荐阅读