以下のように TVApplicationControllerDelegate で evaluateAppJavaScriptIn メソッドを使用し、それに対応する迅速なメソッドを記述できます。(スイフト側)
// MARK: TVApplicationControllerDelegate
func appController(_ appController: TVApplicationController, evaluateAppJavaScriptIn jsContext: JSContext){
let debug : @convention(block) (String!) -> Void = {
(string : String!) -> Void in
#if DEBUG
print("[log]: \(string!)\n")
#endif
}
jsContext.setObject(unsafeBitCast(debug, to: AnyObject.self), forKeyedSubscript: "debug" as (NSCopying & NSObjectProtocol)!)
}
その後、次のように TVJS からこのメソッドを呼び出すことができます。(js側)
debug('Hello from js to swift...');