电视的大多数应用程序都是基于Web的(html,javascript和css),我想将现有的电视Web应用程序移植到tvOS。
Xcode中的SDK没有显示像iOS中那样的Webview实现,无法创建基于html,javascript和css的应用,但是根据文档,可以使用tvjs框架使用javascript ,但是Apple拥有自己的标记语言,而不是html用于称为TVML的电视。
我的问题是:是否可以将现有的Web应用程序移植到tvOS(如何?),还是需要从头开始重新实现?
编辑:在人们继续投票之前,我要弄清楚在Apple TV上存在UIWebView,但是 禁止 使用它,因此,在Apple TV上加载Web应用程序的唯一真正方法是使用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)
更新! 我发现在github上有很多基于的tvOS浏览器,但其中大多数都需要在Xcode应用程序上调整Availability.h。我发现了使用我的方法的叉子,因此不需要调整Availability.h
他们添加了对导航的基本支持,例如滚动和光标
我认为Apple不会批准使用UIWebView被标记为禁止的应用程序,您必须学习TVML而TVJS不是。
UIWebView
TVML
TVJS