问题描述
首先,我在iOS 13.6.1上
我正在下载HLS视频,以便以后离线播放。当处于前台时,所有逻辑都按预期方式工作,所有逻辑都按其应有的方式工作,似乎没有任何问题。
但是当应用程序进入后台时,我停止获取AVAggregateAssetDownloadTask的更新(我的意思是,我看不到Xcode控制台中打印的委托回调中的日志)。
我遵循了documentation:
- NSURLSessionConfiguration sessionSendsLaunchEvents设置为true
- AppDelegate实现handleEventsForBackgroundURLSession
- 会话委托实现URLSessionDidFinishEventsForBackgroundURLSession
此外,我还启用了后台模式进行抓取。
疯狂的事情是,如果我连接了仪器网络监视器,则可以获取所有更新。而且我看到下载一直在后台进行。
即使没有上述文档中提到的更改,我仍然看到在监视器打开的情况下下载仍在后台进行。
但是似乎网络监视器以某种方式使该应用程序保持活动状态,因为如果不打开它,则更新将为零。
要清楚一点,我什至不考虑在后台开始或结束下载,而唤醒应用程序或其他任何东西。我只想开始下载,进入后台,让下载继续下载内容并通知我(哪一个AFAIK是在单独的过程中完成的,我可以从网络监视器中确认是)。
一个例子:
我的想法不多了。除了框架中的错误外,没有任何意义了。
任何想法,无论它看起来多么简单,都将不胜感激。
预先感谢!
PS:进入设置>存储时,有时我会发现文件大小在后台增长,这意味着即使我看不到委托回调的更新,下载仍在继续。在某些时候,我看到文件大小在后台运行期间保持不变,但这可能是无关紧要的事情(我希望如此)。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)