微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

如何解决当进入后台时,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.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?