HLS离线播放是在2016年WWDC中的this session,iOS 10中宣布的。但是在大约21:20时,主持人正在谈论下载的文件不应该从哪里移动AVAssetDownloadTask
放置它们,因为如果磁盘空间不足,系统可能需要删除它们。文档中还提到了here这种可能性:
重要
如果可用磁盘空间极低,操作系统可能会自动删除下载的资产。在向用户显示资产可供播放之前,请验证资产是否存在且可脱机播放。
我正在构建一个应用程序,用HLS播放DRM音频内容,我想支持流媒体和下载,因此用户可以保存他们想要的文件进行离线播放。但是,如果下载的文件在未经用户许可的情况下被删除,那就是一种废话体验。
所以我的问题:如何防止系统删除下载的文件?我可以移动它们,即使是documentation explicitly says not to吗?我可以通过不同的方式下载文件吗? iOS 11中有一个新类AVAssetDownloadStorageManager
,它支持将存储管理策略设置为默认或重要...是否保证系统不会删除" important"下载媒体而不至少先询问用户? Roger Pantos在Advances in HTTP Live Streaming at WWDC 2017中说,系统可能会在询问用户后删除资产以为软件更新腾出空间,但该声明并不意味着资产因其他原因而无法自动删除。 / p>
答案 0 :(得分:0)
几年来,我们一直在将下载的资产从提供的位置移至FileManager.default.urls(for: .documentDirectory, in: .userDomainMask)
,到目前为止,还没有发现任何问题。
我不确定这是否是个好习惯,很可能不是。