我正在使用 tvOS beta 3 并尝试在 tvml/tvjs 方面进行一些基本调试。
在我的 js 文件中通过console.log(...)记录的消息不会出现在 Xcode 主输出窗口中。
在其他地方我可以找到这些消息或需要配置的设置吗?
您实际上应该在 Safari 中使用调试控制台。(开发者论坛建议您使用 Safari 9 并升级到 El Capitan,这两者我都无法使用劣质版本进行测试)
打开 Safari > Develop menu > Simulator
您的应用名称应该会出现在这里一次,然后您就可以使用控制台了。
给它几秒钟的时间出现,它并不总是瞬间的。
您必须在 General/Identity (com.yourcompany.appname) 中为 Bundle Identifier 命名,才能在开发人员工具中显示该应用程序。
如果您正在使用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")
})