【问题标题】:iOS 16 FairPlay ChangesiOS 16 FairPlay 更改
【发布时间】:2022-09-27 13:11:59
【问题描述】:

FairPlay 逻辑有什么变化吗?我的应用程序具有受 FairPlay 保护的视频和音频,它们在 iOS 15.7 之前可以完美运行,但在 iOS 16 中

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)\"}}

这可能是什么原因和解决方案?

提前致谢

    标签: ios swift objective-c ios16 fairplay


    【解决方案1】:

    函数streamingContentKeyRequestDataForApp 已弃用iOS 15根据documentation。使用在new function documentation 中指定的函数makeStreamingContentKeyRequestData。这是一个示例用法:

    func makeStreamingContentKeyRequestData(
        forApp appIdentifier: Data,
        contentIdentifier: Data?,
        options: [String : Any]? = nil,
        completionHandler handler: @escaping (Data?, Error?) -> Void
    )
    

    【讨论】:

    • 正如我在问题中提到的那样,我目前只使用 makeStreamingContentKeyRequestData 。
    • 在您的问题中提到了 makeStreamingContentKeyRequestDataForApp ,而不是 makeStreamingContentKeyRequestData
    【解决方案2】:

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

    【讨论】:

    • 嗨,我目前遇到了同样的问题。哪些特定的 HLS EXT 标签是您的根本原因?非常感谢您的帮助 !
    • 请提供有关问题所在的更多详细信息。 m3u8 中的所有标签都以#EXT 开头,因此解释没有提供太多关于哪些标签(以及它们是什么)导致问题的信息。
    猜你喜欢
    • 2022-10-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-10-26
    • 1970-01-01
    • 2020-12-08
    • 2022-12-15
    • 1970-01-01
    相关资源
    最近更新 更多