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

时间:2016-08-19 09:40:21

标签: swift tvos tvml

说明

我创建了一个新的TVML项目并启动了它。第一个错误是App Transport Security,我通过App Transport Security Settings -> Allow Arbitrary Loads -> YES 修复了

application func

然后我再次运行它,我收到了这个错误:

  

无法加载启动网址但错误:(null)   appController(_:didFailWithError :)调用错误:错误   Domain = TVMLKitErrorDomain Code = 3"(null)"

项目似乎停在这里(AppDelegate.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 } } ):

http://MY-IP-ADDRESS-HERE:9001/

我尝试过的事情:

我尝试从" http://localhost:9001/"更改tvBaseURL到{{1}}

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

问题:

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

3 个答案:

答案 0 :(得分:2)

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

在终端中输入以下命令

ruby -run -ehttpd . -p9001

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

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

答案 1 :(得分:1)

我也面临同样的问题,我通过改变AppDelegate中的tvBaseURL

解决了这个问题
static let tvBaseURL = "http://127.0.0.1:9001/Downloads/TVMLCatalogUsingTVMLTemplates/Server/"

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

希望它可以提供帮助!

答案 2 :(得分: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)

地址已在使用中-绑定(2)为0.0.0.0:9001

在这一点上,您必须选择其他端口号(如果您决定这样做,请确保服务器的端口和Xcode的项目端口匹配),或者通过ctrl + c杀死以前的服务器,或者只是杀死它终端窗口。

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