无法加载启动URL并显示错误:错误Domain = TVMLKitErrorDomain Code = 3“(null)”

问题描述 投票:4回答:3

描述:

我创建了一个新的TVML项目并启动它。第一个错误是App Transport Security,我通过Info.plist修复:

App Transport Security Settings -> Allow Arbitrary Loads -> YES

然后我再次运行它,我收到此错误:

无法加载启动URL并显示错误:(null)appController(_:didFailWithError :)调用错误:错误Domain = TVMLKitErrorDomain Code = 3“(null)”

该项目似乎停在这里(application funcAppDelegate.swift):

   appControllerContext.launchOptions["BASEURL"] = AppDelegate.tvBaseURL
   print(launchOptions) //returns nil
   //error on following line
   if let launchOptions = launchOptions as? [String: AnyObject] {
        //does not enter here
        for (kind, value) in launchOptions {
            appControllerContext.launchOptions[kind] = value
        }
    }

我尝试过的:

我试图将tvBaseURL从“http://localhost:9001/”改为http://MY-IP-ADDRESS-HERE:9001/

但这并没有改变任何事情。

题:

导致此错误的原因是什么?如何解决?

swift tvos tvml
3个回答
2
投票

您应该使用端口号启动服务器

在终端中输入以下命令

ruby -run -ehttpd . -p9001

最后你的tvBaseURL应该像这样导航到服务器文件夹

"http://yourLocalhost:9001/Downloads/TVMLCatalogUsingTVMLTemplates/Server/"

1
投票

我也面临同样的问题,我通过改变AppDelegate中的tvBaseURL解决了这个问题

static let tvBaseURL = "http://127.0.0.1:9001/Downloads/TVMLCatalogUsingTVMLTemplates/Server/"

如您所见 - 我必须显示Server文件夹的确切路径。如果你把它放到一些Web服务器上也可以。

希望它可以帮助!


1
投票

我刚遇到这个问题。您需要密切关注终端输出。

我有:

[2019-03-15 12:28:43] INFO  WEBrick 1.3.1
[2019-03-15 12:28:43] INFO  ruby 2.3.7 (2018-03-28) [universal.x86_64-darwin17]
/System/Library/Frameworks/Ruby.framework/Versions/2.3/usr/lib/ruby/2.3.0/socket.rb:205:
in `bind': Address already in use - bind(2) for 0.0.0.0:9001 (Errno::EADDRINUSE)

地址已在使用 - bind(2)for 0.0.0.0:9001

此时你要么必须选择一个不同的端口号(如果你决定这样做,那么确保你的服务器的端口和你的Xcode的项目端口匹配)或者通过ctrl + c杀死以前的服务器或者只是杀死那个终端窗口。

另请注意,在Apple的一些示例项目中,ruby -run -ehttpd . -p9001命令将在名为Server的文件夹中完成,而对于其他项目,它只是假设在App的主文件夹中完成。只需查看README文件就可以解决这个问题。

© www.soinside.com 2019 - 2024. All rights reserved.