无法在IOS 11上启用http和LocalNetwork

时间:2018-01-15 15:26:42

标签: ios swift xcode

我想在本地解析服务器上工作,但我发现我无法播放以“http”开头的视频,我试图启用“应用传输安全”,但仍然无法正常工作,不知道吗?

<key>NSAppTransportSecurity</key>
<dict>
    <key>NSAllowsArbitraryLoads</key>
    <true/>
    <key>NSAllowsLocalNetworking</key>
    <true/>
    <key>NSExceptionDomains</key>
    <dict>
        <key>localhost</key>
        <dict>
            <key>NSExceptionAllowsInsecureHTTPLoads</key>
            <true/>
            <key>NSExceptionRequiresForwardSecrecy</key>
            <false/>
            <key>NSIncludesSubdomains</key>
            <true/>
            <!-- Optional: Specify minimum TLS version -->
            <key>NSTemporaryExceptionMinimumTLSVersion</key>
            <string>TLSv1.1</string>
            <key>NSRequiresCertificateTransparency</key>
            <false/>
        </dict>
    </dict>
</dict>

请提供任何帮助

修改:这是播放视频的代码。

    func setupVideoPlayerWithURL(url:NSURL) {

let url = NSURL(string: "http://localhost:1337/parse/files/myapp/6c7c5c111a334e30cc46b5d6e79d0ab6_SampleVideo_1280x720_1mb.mp4")
    player = AVPlayer(url: url as URL)
    playerLayer = AVPlayerLayer(player: self.player)
    playerLayer.videoGravity = AVLayerVideoGravity.resizeAspect
    playerLayer.frame = self.view.frame   // take up entire screen
    self.view.layer.addSublayer(self.playerLayer)
    player.play()
}

如果我使用(来自互联网的“https”视频链接),它可以工作。但任何其他(http)链接,视频没有播放或没有出现任何错误。我想我应该启用http连接,但我不知道为什么它不会被启用。

1 个答案:

答案 0 :(得分:0)

您的代码尝试下载托管在iPhone模拟器上的视频,该视频很可能不是文件实际托管的位置。将URL从localhost更改为运行Parse服务器的计算机的IP,然后它应该找到该文件。