Web app in tvOS

后端 未结 6 2064
-上瘾入骨i
-上瘾入骨i 2020-11-27 06:16

Apple has released it\'s SDK for apple tv yesterday.

Most apps for TVs are web based (html, javascript and css) and I would like to port an existing tv web app to th

6条回答
  •  清歌不尽
    2020-11-27 06:31

    EDIT: Before people keeps downvoting, I'm going to make clear that the UIWebView is present on the apple TV, but it's PROHIBITED to use it, so, the only real way of loading web apps on an apple TV is creating them with TVML and TVJS

    If you want to use an UIWebView (as proof of concept) you can do this:

    Objective-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];
    

    swift

    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)
    

    MAGIC!!! The UIWebView is there! But you can't iteract with it, just show web pages or web content.

    UPDATE! I've found that there is a lot of tvOS browsers on github based on https://github.com/steventroughtonsmith/tvOSBrowser, but most of them require tweaking Availability.h on Xcode app. I've found a fork that uses my approach, so it doesn't require tweaking Availability.h https://github.com/FabioSpacagna/tvOSBrowser They add basic support for navigating, like scroll and a cursor

    I don't think apple will approve apps using UIWebView as it's marked as prohibited, you'll have to learn TVML and TVJS instead.

提交回复
热议问题