已删除的受保护内容无法在同一会话中再次下载



我正在使用HLS FairPlay,但无法正确删除受保护的下载内容并在同一会话中重新下载(=未首先关闭应用程序(。

步骤1:movpkg已从FileManager中删除其内容密钥从.keys文件夹中删除

步骤2:尝试在不首先杀死应用程序的情况下重新下载不会从ContentKeyDelegate流中激发任何委托方法。

显然,在你第一次这样做之后,会有一些缓存:

processContentKeyRequest(withIdentifier: identifier, initializationData: nil, options: nil)

AVContentKeySession在应用程序启动时初始化。

第二次调用CCD_ 2没有任何作用。

如果我在重新启动应用程序后(以及删除内容后(重新下载,效果良好。我还尝试使用invalidatePersistableContentKey,但没有成功。

请尝试创建AVContentKeySession的新实例。我在苹果的HLS目录中找到了这个例子:

/// Reset content key manager. May have to do this to re-download an already downloaded item. Does not reset any other keys.
func reset() {
contentKeySession = AVContentKeySession(keySystem: .fairPlayStreaming)
contentKeySession.setDelegate(contentKeyDelegate, queue: contentKeyDelegateQueue)
}

最新更新