如何将javascript console.log to println()获取到Swift中的Xcode调试器?
有没有办法使用swift在Xcode中向调试器显示javascript错误和/或控制台日志?如果是,怎么做?如果您已经在javascript和swift代码之间建立了正确的连接(例如,使用此处的方法:),您可以用JS编写一个方法,将消息发送到swift中指定的scriptMessageHandler,然后将LN打印到xcode输出 类似这样的东西(草草写的,可能是打字错误) 发送到swift的JS方法:如何将javascript console.log to println()获取到Swift中的Xcode调试器?,javascript,ios,swift,Javascript,Ios,Swift,有没有办法使用swift在Xcode中向调试器显示javascript错误和/或控制台日志?如果是,怎么做?如果您已经在javascript和swift代码之间建立了正确的连接(例如,使用此处的方法:),您可以用JS编写一个方法,将消息发送到swift中指定的scriptMessageHandler,然后将LN打印到xcode输出 类似这样的东西(草草写的,可能是打字错误) 发送到swift的JS方法: function sendConsole(message) { try {
function sendConsole(message) {
try {
webkit.messageHandlers.myMessageHandler.postMessage("Console:" + message);
} catch(err) {
console.log('Something is wrong');
}
}
处理swift代码的摘录:
func userContentController(userContentController: WKUserContentController, didReceiveScriptMessage message: WKScriptMessage) {
if(message.name == "myMessageHandler") {
println(message.body)
}
}
如果您不确定如何执行此操作,请点击链接,他会很好地解释此操作。您可以使用桌面Safari开发工具
要在桌面Safari菜单栏上显示开发人员工具,请转到Safari->Preferences->Advances->show Desktop menu in menu bar。如果我添加自己的打印功能,这听起来不错,但如何将js window.console.log重定向到webkit.messageHandlers.myMessageHandler