首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >iOS 16 FairPlay变化

iOS 16 FairPlay变化
EN

Stack Overflow用户
提问于 2022-09-14 07:08:38
回答 4查看 576关注 0票数 1

FairPlay逻辑中有什么变化吗?我的应用程序有FairPlay保护的视频和音频,它们在iOS 15.7之前工作得很好,但在iOS 16中

代码语言:javascript
运行
复制
makeStreamingContentKeyRequestData is throwing me following error :

Error Domain=CoreMediaErrorDomain Code=-19152 "(null)"
Error Domain=AVFoundationErrorDomain Code=-11800 "The operation could not be completed"
UserInfo={NSLocalizedFailureReason=An unknown error occurred (-19156), NSLocalizedDescription=The operation could not be completed, 
NSUnderlyingError=0x280deac10 {Error Domain=NSOSStatusErrorDomain Code=-19156 "(null)"}}

这种情况和解决办法可能是什么原因?

提前谢谢

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2022-09-20 10:35:18

我已经解决了这个问题,问题是在m3u8文件中存在重复的EXT标记,由于它从第一个标记中选择了信息,所以它在某种程度上适用于iOS 15,而在iOS 16中,它使用了所有的标记并导致错误。

票数 -2
EN

Stack Overflow用户

发布于 2022-09-14 07:23:05

streamingContentKeyRequestDataForApp函数是在iOS 15上根据文档提出的。使用在makeStreamingContentKeyRequestData中指定的函数新功能文档。下面是一个示例用法:

代码语言:javascript
运行
复制
func makeStreamingContentKeyRequestData(
    forApp appIdentifier: Data,
    contentIdentifier: Data?,
    options: [String : Any]? = nil,
    completionHandler handler: @escaping (Data?, Error?) -> Void
)
票数 0
EN

Stack Overflow用户

发布于 2022-10-20 04:41:57

我们使用AVContentKeySession下载,遇到了同样的错误,并修复了它。就我们的情况而言,问题如下。

问题注意到:

  1. 在was 16.0.3平台上,在下载过程中应用程序首先触发“许可请求”后12s,AVFoundation框架再次触发“许可证请求”("contentKeySession(_ session: AVContentKeySession, didProvide keyRequest: AVContentKeyRequest)" 被再次调用),然后由框架快速报告错误“-19152“ wad。错误日志: contentKeySession(_:contentKeyRequest:didFailWithError:),行: XXX,消息: XXX,url: XXX,Domain=CoreMediaErrorDomain代码=-19152 "(null)“
  2. 在iOS15.6.1上,在应用程序在下载过程中触发“许可请求”之后,框架不会再次触发任何“许可请求”。

的根本原因: iOS Framework (AVContentKeySession& AVPersistableContentKeyRequest)行为在iOS16上发生了变化。

解决方案:在CKC下载到iOS16+上之后,添加“keyRequest.processContentKeyResponse(keyResponse)”

  • 在iOS11 - iOS15上,我们没有在下载后调用它,而是只在本地保存persistentKeyData,在播放时调用processContentKeyResponse。在这些iOS版本上总是工作得很好。
  • 但是在iOS16和更高版本上(到目前为止,在iOS16.1 Beta4之前),旧的进程将触发框架错误。所以我们增加了这个修正。
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73712804

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档