如何将AVKit与https安全连接?

时间:2019-05-03 03:09:36

标签: swift xcode macos cocoa avkit

我已实现AVKit,我从中调用视频的网址是从我的网站使用https。当我通过Xcode运行该应用程序时,一切正常,但是当我存档该应用程序以供发布时,它将不会显示视频。我已实现NSAppTransportSecurityNSExceptionDomainsNSIncludesSubdomains。这是我遇到的错误,

  

startConfigurationWithCompletionHandler:无法获取远程对象   代理:错误域= NSCocoaErrorDomain代码= 4097“连接   名为com.apple.rtcreportingd的服务”   UserInfo = {NSDebugDescription =连接到名为的服务   com.apple.rtcreportingd}。

我正在运行Xcode 10.2 迅捷5 我解开了常量文件中的url的URL,然后使用了保护声明将它们放置在我的makeView中。我有一个自定义单元,单元内有视频播放器。

我说搜索范围很广,苹果公司说要实现plist代码并像这样配置。

我尝试使用其他网址,因此我使用了具有相同结果的Apple AVKit Example。

我读过的所有内容都表明,plist需要我已经实现的AppTransportSecurity代码,并且在存档应用程序并准备发布时仍无法连接到视频。

// p列出源代码

<key>NSAppTransportSecurity</key>
<dict>
    <key>NSExceptionDomains</key>
    <dict>
        <key>example.com</key>
        <dict>
            <key>NSIncludesSubdomains</key>
            <true/>
            <key>NSThirdPartyExceptionAllowsInsecureHTTPLoads</key>
            <false/>
        </dict>
    </dict>
</dict>

// TableViewDataSource

func tableView(_ tableView: NSTableView, viewFor tableColumn:    NSTableColumn?, row: Int) -> NSView? {

     guard let videoOne = URL(string: "https://example.com/video.mov") else {return nil}

    let cell = tableView.makeView(withIdentifier: NSUserInterfaceItemIdentifier(rawValue: "videoCell"), owner: nil) as? VideoCell
    switch row {
    case 0:

        cell?.titleLabel.stringValue = "title 1"
        cell?.playerView.player = AVPlayer(url: videoOne)
        return cell
   default:
      break

将应用存档后进行分发时,视频应播放。

0 个答案:

没有答案