从 TVJS 查看控制台输出

Viewing console output from TVJS

我正在使用 tvOS beta 3 并尝试在 tvml/tvjs 方面进行一些基本调试。

通过 console.log(...) 在我的 js 文件中记录的消息没有出现在主 Xcode 输出中 window .

我是否可以在其他地方找到这些消息或需要配置的设置?

您实际上应该使用 Safari 中的调试控制台。 (开发者论坛建议您使用 Safari 9 并升级到 El Capitan,这两个我都无法使用较低版本进行测试)

打开 Safari > 开发菜单 > 模拟器
您的应用程序名称应该在这里出现一次,您可以从那里使用控制台。

给它几秒钟的时间出现,它并不总是瞬间出现。

如果您正在使用 TVMLKitchen 开发混合应用程序 (TVML/TVJS + Swift),您可以在 Swift 中实现日志记录功能并在 TVJS 代码中使用它.对于我的项目,我使用以下代码:

Kitchen.appController.evaluateInJavaScriptContext({context in
    let printInJS : @convention(block) (NSString!) -> Void = {
        (string : NSString!) -> Void in
            print("Log: \(string)\n")
    }
    context.setObject(unsafeBitCast(printInJS, AnyObject.self), forKeyedSubscript: "printInJS")
})

您必须在 General/Identity (com.yourcompany.appname) 中为 Bundle Identifier 命名,才能在开发者工具中显示该应用程序。