swift 在iOS 16上未调用AVContentKeySessionDelegate方法

wlsrxk51  于 2022-10-31  发布在  Swift
关注(0)|答案(1)|浏览(177)

我有一个应用程序,它已经在商店几年了。它下载DRM内容供离线使用,并通过AVContentKeySessionDelegate处理持久密钥。在iOS 16之前,一切都正常。现在,它只在20个会话中的1个会话中工作。在其余的会话中,AVContentKeySession不要求密钥,也不调用AVContentKeySessionDelegate的方法。
我也在另一台iOS12.4设备上尝试了同样的代码,一切都很好。这个bug只与iOS16有关。
DRM在线内容流传输正确。此错误仅与下载AV资产有关。

67up9zun

67up9zun1#

因此,我找到的唯一解决方案是重新创建AVContentKeySession
AVContentKeySession缓存内容密钥。如果它接收联机内容密钥,则在大多数情况下,当您下载脱机资产时,它不会要求提供密钥。仅当您首次下载时,调用进程内容密钥才有帮助。当您下载、删除并再次下载时,您必须使用新创建的AVContentKeySession

相关问题