Ошибка при получении данных запроса ключа: причина AVFoundationErrorDomain: необязательно ("Произошла неизвестная ошибка (-42650)")
Я использую Apple Fireplay DRM для доставки зашифрованного контента на устройства. Я смог успешно загрузить сертификат, но при попытке получить данные SPC из AVAssetResourceLoadingRequest
Я получаю эту ошибку.
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 на форуме разработчиков Apple, но не повезло!
2 ответа
Я получил эту ошибку также. В моем случае я генерировал applicationCertificate, используя неправильный формат данных (параметр appIdentifier в resourceLoadingRequest.streamingContentKeyRequestData(forApp:contentIdentifier:options:)
функция) Сертификат, который мне дали, был закодирован в base64. Поэтому мне нужно создать данные с Data(base64Encoded: yourCertificateString)
,
У меня также была эта проблема. Я не использую постоянные ключи, я скопировал пример кода и забыл изменить
AVAssetResourceLoadingRequestStreamingContentKeyRequestRequiresPersistentKey: true
кfalse
.
После этого он начал работать.