javascript - tvOS 中的 Web 应用程序

标签 javascript html web-applications apple-tv tvos

Apple 已发布 SDK for apple tv昨天。

大多数电视应用都是基于网络的(html、javascript 和 css),我想将现有的电视网络应用移植到 tvOS。

Xcode 中的 SDK 没有显示像 iOS 中那样用于创建基于 html、javascript 和 css 的应用程序的 Webview 实现,但是,根据文档,可以使用 tvjs framework 来使用 javascript , 但不是 html,苹果有自己的电视标记语言 TVML .

我的问题是:是否可以将现有的网络应用程序移植到 tvOS(如何?),还是需要从头开始重新实现?

感谢您的帮助。

最佳答案

编辑:在人们继续反对之前,我要明确指出 UIWebView 出现在苹果电视上,但禁止使用它,因此,加载网页的唯一真正方式Apple TV 上的应用程序使用 TVML 和 TVJS 创建它们

如果您想使用 UIWebView(作为概念证明),您可以这样做:

目标-c

Class webviewClass = NSClassFromString(@"UIWebView");
id webview = [[webviewClass alloc] initWithFrame:self.view.frame];
NSURL * url = [NSURL URLWithString:@"https://www.google.com"];
NSURLRequest * request = [NSURLRequest requestWithURL:url];
[webview loadRequest:request];
[self.view addSubview:webview];

迅速

let webViewClass : AnyObject.Type = NSClassFromString("UIWebView")!
let webViewObject : NSObject.Type = webViewClass as! NSObject.Type
let webview: AnyObject = webViewObject.init()
let url = NSURL(string: "https://www.google.com")
let request = NSURLRequest(URL: url!)
webview.loadRequest(request)
let uiview = webview as! UIView
uiview.frame = CGRectMake(0, 0, view.frame.width, view.frame.height)
view.addSubview(uiview)

魔法!!! UIWebView 就在那里! 但您不能与它交互,只能显示网页或网页内容。

更新! 我发现 github 上有很多基于 https://github.com/steventroughtonsmith/tvOSBrowser 的 tvOS 浏览器,但其中大多数需要在 Xcode 应用程序上调整 Availability.h。我找到了一个使用我的方法的分支,因此它不需要调整 Availability.h https://github.com/FabioSpacagna/tvOSBrowser 它们添加了对导航的基本支持,例如滚动和光标

我不认为苹果会批准使用 UIWebView 的应用程序,因为它被标记为禁止,你必须学习 TVMLTVJS相反。

关于javascript - tvOS 中的 Web 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32503582/

相关文章:

javascript - 按钮点击 ="function(x,y,z)"

javascript - 在 javascript 中使用元素集合数组中的元素

html - 放大/缩小时页脚未对齐

java - 拦截并重定向到另一个端口的 Servlet

javascript - Gmail API发送电子邮件错误401 :Invalid Credentials

javascript - 就我而言,如何在运行时填充数据?

html - anchor 在 div float 时不可点击

java - 可以将子域映射到标准 Java 应用程序服务器中的 Web 应用程序吗?

iphone - iOS4 iPhone 离线 Web 应用程序上的 HTML5 音频无法播放?

Javascript multidim 数组错误