Я пытаюсь реализовать FairPlay в своем приложении.
Я могу воспроизвести зашифрованное видео с помощью SDK, предоставленного Apple, но проблема в том, что SDK находится в Swift, но мой проект в Objective C.
Итак, я переписал код в своем проекте, но не могу воспроизвести видео.
Вот ссылки, которые я использую:
Плейлист: https://willzhanmswest.streaming.mediaservices.windows.net/92fc0471-0878-4eeb-80a3-e5b6fc497806/NoAudio.ism/manifest(format=m3u8-aapl)
Сертификат: https://openidconnectweb.azurewebsites.net/Content/FPSAC.cer
Вот шаги, которые я выполнил:
- Добавлен делегат в AVURLAsset для вызова этой функции shouldWaitForLoadingOfRequestedResource.
- В этой функции я впервые получаюсодержимое сертификата в NSData
- Затем я получаю строку ресурса и преобразую ее в NSData.
- Затем я вызываю эту функцию для создания значения SPC.
NSData *spc = [loadingRequest streamingContentKeyRequestDataForApp:certificate contentIdentifier:assetId options:nil error:nil];
Полученный SPC и идентификатор актива затем передаются на сервер Azure с типом содержимого application / x-www-form-urlencoded. Полученный CKC затем обрезается для удаления и тегов, а затем преобразуется вBase64String, а затем вызвал эти функции
[dataRequest respondWithData:base64CkcData];
[loadingRequest finishLoading];
Может кто-нибудь помочь мне выяснить, что я здесь не так делаю?
Спасибо.