0

我正在开发一个 iOS 应用程序。我实现了下载 HLS 视频文件的逻辑。我使用AVAssetDownloadURLSession, AVAggregateAssetDownloadTask, URLSessionConfiguration.background

如果在服务器上更新了 HLS 文件,我需要实现更新 HLS 文件的逻辑。是否可以使用NSURLRequest.CachePolicy做到这一点?还是有其他方法可以做到这一点?任何帮助表示赞赏。

会话配置:

private let assetSessionConfiguration: URLSessionConfiguration = {
    let configurationIdentifier = Bundle.main.bundleIdentifier ?? "identifier"
    let configuration = URLSessionConfiguration.background(withIdentifier: configurationIdentifier)
    configuration.networkServiceType = .video
    configuration.requestCachePolicy = .useProtocolCachePolicy
    if #available(iOS 13.0, *) {
        configuration.allowsExpensiveNetworkAccess = true
    }

    if #available(iOS 13.0, *) {
        let memoryMBAmount = 10
        let diskMBAmount = 2048
        configuration.urlCache = URLCache(memoryCapacity: memoryMBAmount * 1024 * 1024, diskCapacity: diskMBAmount * 1024 * 1024, directory: CustomURL)
    } else {
        configuration.urlCache = URLCache.shared
    }

    return configuration
}()
4

1 回答 1

0

一种方法是cache-control在主播放列表响应上设置 HTTP 标头。

于 2021-03-18T17:54:11.463 回答