JavaScriptCore获取API控制台.log消息

JavaScriptCore获取API控制台.log消息,javascript,jquery,swift,javascriptcore,Javascript,Jquery,Swift,Javascriptcore,我有一个简单的web应用程序,可以将流式数据打印到console.log。这在网页中非常有效 我想直接将日志消息打印到Xcode控制台,因为它们在流中出现,而不使用web视图 如果可能的话,希望所有的东西都是Swift的,但是Objective-C解决方案是可以的 <!DOCTYPE html> <html lang="en"> <head> <title>Barchart Market Data API Examp

我有一个简单的web应用程序,可以将流式数据打印到console.log。这在网页中非常有效

我想直接将日志消息打印到Xcode控制台,因为它们在流中出现,而不使用web视图

如果可能的话,希望所有的东西都是Swift的,但是Objective-C解决方案是可以的

    <!DOCTYPE html>
    <html lang="en">
    <head>
    <title>Barchart Market Data API Example</title>
    <script src="//ajax.googleapis.com/ajax/libs/jquery/2.0.3/jquery.min.js"></script>

    <script src="../dist/barchart-marketdata-api-1.0.js"></script>

    <script type="text/javascript">

        $(function() {
            var onMarketUpdate = function(message) {
                if (message.type == "TRADE") {

                    var q = client.getMarketState().getQuote(message.symbol);
                    if (q)
                    console.log('Symbol: ' + q.symbol +
                            '\nLast:' + q.lastPrice +
                            '\nVolume:' + q.volume +
                            '\nTime:' + q.time);
                }
            };


            var client = new Barchart.RealtimeData.Connection();

            client.connect('qsws-us-e-01.aws.barchart.com', 'user', 'password');

            client.on('marketUpdate', onMarketUpdate, 'ESZ6');

        });
    </script>
    <body>
    </body>
    </html>
我不确定如何将console.log的输出放入上下文中,因为它位于Jquery匿名函数中


它实际上不必来自console.log,我可以将字符串返回到mac/iOS应用程序。

不完全确定“console.log”是否可写,但您可以覆盖它,尽可能捕获发送到它的所有内容。ES6代理可能会有所帮助。
$(函数(){
让我很困惑,我如何从swift中调用这个对象并得到任何返回的东西?我也不认为myLib能够像在web上那样获得所需的脚本,如Jquery和barchart marketdata api。我分解并创建了一个web视图进行测试。因此我对Jquery不是很熟悉,但那是
$(function(){
语句确实造成了问题。我可以得到对任何普通JavaScript函数的调用,只要它们在任何jQuery调用之前。如果函数在jQuery之后,那么我总是得到“undefined”从我的JSContext和JSValue调用返回…?不完全确定“console.log”是否可写,但您可以覆盖它,尽可能捕获发送到它的所有内容。ES6代理可能会有所帮助吗?
$(function(){
让我很困惑,我如何从swift中调用这个对象并得到任何返回的东西?我也不认为myLib能够像在web上那样获得所需的脚本,如Jquery和barchart marketdata api。我分解并创建了一个web视图进行测试。因此我对Jquery不是很熟悉,但那是
$(function(){
语句确实造成了问题。我可以调用任何普通JavaScript函数,只要它们在任何jQuery调用之前。如果函数在jQuery之后,那么我总是从我的JSContext和JSValue调用返回“undefined”??
    let fileLocation1 = NSBundle.mainBundle().pathForResource("jquery", ofType: "js")!

    let jsSource1 : String
    do {
        jsSource1 = try String(contentsOfFile: fileLocation1)
    } catch {
        jsSource1 = "Contents of JavaScript not loaded."
    }

    let fileLocation2 = NSBundle.mainBundle().pathForResource("barchart-marketdata-api", ofType: "js")!

    let jsSource2 : String
    do {
        jsSource2 = try String(contentsOfFile: fileLocation2)
    } catch {
        jsSource2 = "Contents of JavaScript not loaded."
    }

    let fileLocation3 = NSBundle.mainBundle().pathForResource("myLib", ofType: "js")!

    let jsSource3 : String
    do {
        jsSource3 = try String(contentsOfFile: fileLocation3)
    } catch {
        jsSource3 = "Contents of JavaScript not loaded."
    }

    let context = JSContext()
    context.evaluateScript(jsSource1)
    context.evaluateScript(jsSource2)
    context.evaluateScript(jsSource3)