如何解决当进入后台时,AVAggregateAssetDownloadTask停止发送更新也许停止下载
首先,我在iOS 13.6.1上
我正在下载HLS视频,以便以后离线播放。当处于前台时,所有逻辑都按预期方式工作,所有逻辑都按其应有的方式工作,似乎没有任何问题。
但是当应用程序进入后台时,我停止获取AVAggregateAssetDownloadTask的更新(我的意思是,我看不到Xcode控制台中打印的委托回调中的日志)。
我遵循了documentation:
- NSURLSessionConfiguration sessionSendsLaunchEvents设置为true
- AppDelegate实现handleEventsForBackgroundURLSession
- 会话委托实现URLSessionDidFinishEventsForBackgroundURLSession
此外,我还启用了后台模式进行抓取。
疯狂的事情是,如果我连接了仪器网络监视器,则可以获取所有更新。而且我看到下载一直在后台进行。
即使没有上述文档中提到的更改,我仍然看到在监视器打开的情况下下载仍在后台进行。
但是似乎网络监视器以某种方式使该应用程序保持活动状态,因为如果不打开它,则更新将为零。
要清楚一点,我什至不考虑在后台开始或结束下载,而唤醒应用程序或其他任何东西。我只想开始下载,进入后台,让下载继续下载内容并通知我(哪一个AFAIK是在单独的过程中完成的,我可以从网络监视器中确认是)。
一个例子:
我的想法不多了。除了框架中的错误外,没有任何意义了。
任何想法,无论它看起来多么简单,都将不胜感激。
预先感谢!
PS:进入设置>存储时,有时我会发现文件大小在后台增长,这意味着即使我看不到委托回调的更新,下载仍在继续。在某些时候,我看到文件大小在后台运行期间保持不变,但这可能是无关紧要的事情(我希望如此)。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。