2017-07-31 4 views
3

Je suis en train de mettre en œuvre Apple Fireplay DRM pour fournir du contenu chiffré aux périphériques. J'ai réussi à charger le certificat, mais lorsque j'essaie d'obtenir des données SPC à partir de AVAssetResourceLoadingRequest, j'obtiens cette erreur.Erreur lors de l'obtention des données de demande de clé: AVFoundationErrorDomain reason: Facultatif ("Une erreur inconnue s'est produite (-42650)")

Error obtaining key request data: AVFoundationErrorDomain reason: Optional("An unknown error occurred (-42650)") 

Voici le code pour récupérer le contenu 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 
    } 

J'ai déjà cherché code d'erreur: 42650 sur le forum des développeurs Apple, mais pas de chance!

+0

Avez-vous essayé sur plusieurs appareils? – aergistal

Répondre

1

J'ai aussi cette erreur. Dans mon cas, je produisais l'applicationCertificate en utilisant le mauvais format de données (le paramètre appIdentifier dans la fonction resourceLoadingRequest.streamingContentKeyRequestData(forApp:contentIdentifier:options:)) Le certificat qui m'a été donné était encodé en base64. J'ai donc besoin de créer des données avec Data(base64Encoded: yourCertificateString).