当进入后台时,AVAggregateAssetDownloadTask停止发送更新也许停止下载

问题描述

首先,我在iOS 13.6.1上

我正在下载HLS视频,以便以后离线播放。当处于前台时,所有逻辑都按预期方式工作,所有逻辑都按其应有的方式工作,似乎没有任何问题。
但是当应用程序进入后台时,我停止获取AVAggregateAssetDownloadTask的更新(我的意思是,我看不到Xcode控制台中打印的委托回调中的日志)。

我遵循了documentation

  • NSURLSessionConfiguration sessionSendsLaunchEvents设置为true
  • AppDelegate实现handleEventsForBackgroundURLSession
  • 会话委托实现URLSessionDidFinishEventsForBackgroundURLSession

此外,我还启用了后台模式进行抓取。

疯狂的事情是,如果我连接了仪器网络监视器,则可以获取所有更新。而且我看到下载一直在后台进行。 即使没有上述文档中提到的更改,我仍然看到在监视器打开的情况下下载仍在后台进行。
但是似乎网络监视器以某种方式使该应用程序保持活动状态,因为如果不打开它,则更新将为零。

要清楚一点,我什至不考虑在后台开始或结束下载,而唤醒应用程序或其他任何东西。我只想开始下载,进入后台,让下载继续下载内容通知我(哪一个AFAIK是在单独的过程中完成的,我可以从网络监视器中确认是)。

一个例子:

  • 打开应用
  • 开始下载
  • 转到后台
  • 显示更新
  • 打开仪器网络监视器并连接到设备中运行的应用程序
  • 突然开始获取更新

我的想法不多了。除了框架中的错误外,没有任何意义了。
任何想法,无论它看起来多么简单,都将不胜感激。
预先感谢!

PS:进入设置>存储时,有时我会发现文件大小在后台增长,这意味着即使我看不到委托回调的更新,下载仍在继续。在某些时候,我看到文件大小在后台运行期间保持不变,但这可能是无关紧要的事情(我希望如此)。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...