【问题标题】:Delete AVAssetDownloadTask all not downloaded files删除 AVAssetDownloadTask 所有未下载的文件
【发布时间】:2020-09-18 10:28:42
【问题描述】:

我需要删除应用程序运行时AVAssetDownloadTask 无法下载的所有文件。我想在应用收到UIApplication.willTerminateNotification 后执行此操作。

我尝试取消所有AVAssetDownloadTasks,但目前没有调用AVAssetDownloadDelegate urlSession(_ session: URLSession, assetDownloadTask: AVAssetDownloadTask, didFinishDownloadingTo location: URL)。我想获取所有文件的位置 url。

如果有其他方法可以做到这一点?

【问题讨论】:

    标签: avfoundation http-live-streaming avassetdownloadtask


    【解决方案1】:

    将下载到位置

    您可以使用此委托跟踪最终位置:

    optional func urlSession(_ session: URLSession, 
            aggregateAssetDownloadTask: AVAggregateAssetDownloadTask, 
               willDownloadTo location: URL)
    

    下载完成后告诉代理资产的最终位置。

    此委托回调仅应用于将位置 URL 保存在应用程序的某处。

    任何额外的工作都应该在:

    optional func urlSession(_ session: URLSession, 
                                  task: URLSessionTask, 
            didCompleteWithError error: Error?)
    

    这里是官方文档页面:

    【讨论】:

      【解决方案2】:

      如果你在AVAssetDownloadTask 上调用-cancel-didFinishDownloadingTo location: 会立即触发。

      【讨论】:

        猜你喜欢
        • 2018-06-26
        • 1970-01-01
        • 2016-11-17
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多