AVContentKeySessionDelegate 方法在 iOS 16 上未被调用

4

我有一个已经在应用商店上架了几年的应用程序。它可以下载DRM内容以供离线使用,并通过AVContentKeySessionDelegate处理可持续化密钥。一切都运行正常,直到iOS 16推出。现在,在20个会话中只有1个会话能够正常工作。在其余的会话中,AVContentKeySession不会请求密钥,也不会调用任何AVContentKeySessionDelegate方法。

我已经在另一台设备上尝试了相同的代码,它搭载着iOS 12.4,一切正常。这个Bug只与iOS 16有关。

DRM在线内容可以正常流媒体播放。这个Bug只与AV资源下载有关。


如果你有一个bug,应该向苹果报告。 - jnpdx
1个回答

1

所以我找到的唯一解决方案是重新创建 AVContentKeySession

AVContentKeySession 用于缓存内容的密钥。如果它接收到在线内容密钥,那么在您下载离线资产时大多���情况下不会要求密钥。只有在第一次下载时调用处理内容密钥才有帮助。当您下载、删除并再次下载时,必须使用新创建的 AVContentKeySession


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接