4

Apple から TVMLCatalog アプリケーションをダウンロードしました。コードは 2 つの部分に分割されます。

  1. クライアント- TVML および TVJS ファイルを保持します
  2. TVMLCatalog プロジェクト- これは、TVML/TVJS をセットアップする基本的な Xcode プロジェクトです。

TVMLCatalog Projectと同じバンドルでクライアントTVJS ファイルをホストしようとしています。

AppDelegate didFinishLaunching を次のように変更しました。

func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {
    // Override point for customization after application launch.
    window = UIWindow(frame: UIScreen.mainScreen().bounds)

    /*
    Create the TVApplicationControllerContext for this application
    and set the properties that will be passed to the `App.onLaunch` function
    in JavaScript.
    */
    let appControllerContext = TVApplicationControllerContext()

    /*
    The JavaScript URL is used to create the JavaScript context for your
    TVMLKit application. Although it is possible to separate your JavaScript
    into separate files, to help reduce the launch time of your application
    we recommend creating minified and compressed version of this resource.
    This will allow for the resource to be retrieved and UI presented to
    the user quickly.
    */

    TVBootURL = NSBundle.mainBundle().pathForResource("application", ofType: "js")!
    TVBaseURL = TVBootURL.stringByReplacingOccurrencesOfString("application.js", withString: "")
    if let javaScriptURL = NSURL(string: TVBootURL) {
        appControllerContext.javaScriptApplicationURL = javaScriptURL
    }

    appControllerContext.launchOptions["BASEURL"] = TVBaseURL

    if let launchOptions = launchOptions as? [String: AnyObject] {
        for (kind, value) in launchOptions {
            appControllerContext.launchOptions[kind] = value
        }
    }

    appController = TVApplicationController(context: appControllerContext, window: window, delegate: self)

    return true
}

これは、クライアントをインポートした方法を示すスクリーンショットです: Xcode スクリーンショット

プロジェクトを実行すると (シミュレーターでのみテストされます)、AppleTV シミュレーター画面に次のメッセージが表示されます。

アプリケーションの起動エラー - 操作を完了できませんでした。(TVMLKitErrorDomain エラー 3.)

このように TVJS ファイルからローカルにロードできますか?

4

1 に答える 1