【发布时间】:2015-10-21 20:34:59
【问题描述】:
我正在使用 tvOS beta 3 并尝试在 tvml/tvjs 方面进行一些基本调试。
通过 console.log(...) 在我的 js 文件中记录的消息不会出现在 Xcode 主输出窗口中。
在其他地方我可以找到这些消息或需要配置的设置吗?
【问题讨论】:
我正在使用 tvOS beta 3 并尝试在 tvml/tvjs 方面进行一些基本调试。
通过 console.log(...) 在我的 js 文件中记录的消息不会出现在 Xcode 主输出窗口中。
在其他地方我可以找到这些消息或需要配置的设置吗?
【问题讨论】:
您应该实际使用 Safari 中的调试控制台。 (开发者论坛建议你使用 Safari 9 并升级到 El Capitan,这两个我都无法使用低版本进行测试)
打开 Safari > 开发菜单 > 模拟器
您的应用名称应在此处出现一次,然后您就可以使用控制台了。
让它出现几秒钟,它并不总是瞬间的。
【讨论】:
您必须在 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")
})
【讨论】: