【问题标题】:AVContentKeySessionDelegate methods not called on iOS 16iOS 16 上未调用 AVContentKeySessionDelegate 方法
【发布时间】:2022-10-19 17:14:18
【问题描述】:

我有一个应用程序已在商店中使用了几年。它下载 DRM 内容以供离线使用,并通过AVContentKeySessionDelegate 处理可持久密钥。在 iOS 16 之前一切正常。现在它仅在 20 个会话中的 1 个会话中工作。在其余会话中 AVContentKeySession 不要求密钥,也没有调用 AVContentKeySessionDelegate 的方法。

我也在另一台装有 iOS 12.4 的设备上尝试了相同的代码,一切正常。该错误仅与 iOS 16 相关。

DRM 在线内容正在正确流式传输。此错误仅与下载 AV 资产有关。

【问题讨论】:

  • 如果您有错误,您应该向 Apple 报告。

标签: ios swift avfoundation ios16 fairplay


【解决方案1】:

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

AVContentKeySession 缓存内容的密钥。如果它收到在线内容密钥,那么在大多数情况下,当您下载资产以进行离线下载时,它不会要求提供密钥。仅当您第一次下载时,调用过程内容密钥才有帮助。当您下载、删除和重新下载时,您必须使用新创建的AVContentKeySession

【讨论】:

    猜你喜欢
    • 2020-10-05
    • 2019-10-14
    • 2023-03-23
    • 2016-07-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多