我正在实施Apple Fireplay DRM,用于向设备提供加密内容。
我能够成功加载证书,但当我尝试从AVAssetResourceLoadingRequest
获取SPC数据时,我收到此错误。
Error obtaining key request data: AVFoundationErrorDomain reason: Optional("An unknown error occurred (-42650)")
以下是检索SPC内容的代码
let spcData: Data!
do {
/*
To obtain the Server Playback Context (SPC), we call
AVAssetResourceLoadingRequest.streamingContentKeyRequestData(forApp:contentIdentifier:options:)
using the information we obtained earlier.
*/
spcData = try resourceLoadingRequest.streamingContentKeyRequestData(forApp: applicationCertificate, contentIdentifier: assetIDData, options: resourceLoadingRequestOptions)
} catch let error as NSError {
print("Error obtaining key request data: \(error.domain) reason: \(error.localizedFailureReason)")
resourceLoadingRequest.finishLoading(with: error)
return
}
我已经在苹果开发者论坛上搜索了错误代码:42650,但没有运气!
答案 0 :(得分:1)
我也遇到了这个错误。在我的例子中,我使用错误的数据格式生成applicationCertificate(Data(base64Encoded: yourCertificateString)
函数中的appIdentifier参数)给我的证书是base64编码的。所以我需要使用while
创建数据。