Невозможно воспроизвести видео с AVPlayer, когда NSAllowsArbitraryLoadsInWebContent имеет значение true - PullRequest
0 голосов
/ 24 мая 2018

У меня очень маленькое приложение с AVPlayer.Я использую следующий код для воспроизведения видео:

if let urlToPlay = URL(string: "http://some_video.m3u8") {

    self.player = AVPlayer.init(url: urlToPlay)
    self.player!.play()
}

Я также добавил несколько строк в файл "Info.plist", чтобы можно было воспроизводить видео по схемам HTTP:

<key>NSAppTransportSecurity</key>
<dict>
    <key>NSAllowsArbitraryLoads</key>
    <true/>
</dict>

И работает нормально.Но позже я нашел флаг под названием NSAllowsArbitraryLoadsInWebContent.В моем приложении нет экземпляров WKWebView или UIWebView, поэтому я предположил, что использование этого флага не приведет к сбоям или ошибкам в моем приложении.Теперь мой файл "Info.plist" имеет этот фрагмент:

<dict>
    <key>NSAllowsArbitraryLoads</key>
    <true/>
    <key>NSAllowsArbitraryLoadsInWebContent</key>
    <true/>
</dict>

И плеер не работает.Может ли кто-нибудь объяснить мне, почему это произошло?

Ответы [ 2 ]

0 голосов
/ 24 мая 2018
Also Create a AVPlayerViewController object to play the Video.

 let video = AVPlayer(url: URL(fileURLWithPath:path))
 let videoPlayer = AVPlayerViewController()
 videoPlayer.player = video
 present(videoPlayer, animated:true, completion: {
        video.play()
   })

Hope this will helps for you.
0 голосов
/ 24 мая 2018

Для загрузки мультимедиа через AVFoundation Добавьте ключ NSAllowsArbitraryLoadsForMedia и установите его в значение true.

В соответствии с документацией:

В iOS 10 и более поздних версиях и macOS 10.12 ипозже значение этого ключа игнорируется, что приводит к эффективному значению этого ключа его значения по умолчанию NO - если в файле Info.plist вашего приложения присутствует какой-либо из следующих ключей:

NSAllowsArbitraryLoadsForMedia, NSAllowsArbitraryLoadsInWebContent, NSAllowsLocalNetworking

Обратите внимание, что установка произвольных нагрузок не рекомендуется при производстве, и эти флаги запускают проверку AppStore и требуют обоснования для этого.

Для дальнейшего чтения посетите Документация ATS

...