【问题标题】:how to see phonegap javascript log messages on xcode console如何在 xcode 控制台上查看 phonegap javascript 日志消息
【发布时间】:2012-11-01 16:40:05
【问题描述】:

我正在尝试在 Xcode 上使用 phonegap 开发一个基本的 hello world 应用程序。但我在 Xcode 控制台上看不到日志消息。我试过 console.logdebug.log 但它们对我不起作用?

如何在 xcode 控制台上查看 javascript 日志消息?

【问题讨论】:

    标签: javascript cordova logging


    【解决方案1】:

    在 Phonegap 3.0 中,您必须为 console.log 添加一个插件才能在 xcode 控制台中工作。

    $ phonegap local plugin add https://git-wip-us.apache.org/repos/asf/cordova-plugin-console.git
    

    更多信息:http://docs.phonegap.com/en/edge/guide_cli_index.md.html#The%20Command-line%20Interface

    【讨论】:

    • 请注意,您需要从项目文件夹中运行它并安装适用于 Mac 的 Git(来自此处:git-scm.com/download/mac)。
    • 我相信大多数使用 Phonegap 的人都安装了 Git。在我的机器上cordova plugin add https://git-wip-us.apache.org/repos/asf/cordova-plugin-console.git (Cordova 3.4.0)
    • https://github.com/apache/cordova-plugin-console/blob/master/doc/index.md 他们说:cordova plugin add org.apache.cordova.console 为我完成了这项工作!
    【解决方案2】:
    1. 在您的真实 iDevice 或 iOS 模拟器中转到 Settings > Safari > Advanced 并打开 Web Inspector
    2. 桌面 Safari:Safari > Preferences > Advanced 并选中 Show develop menu in menu bar 复选框。
    3. 现在您已经打开了 iOS 模拟器或您的 iDevice 已连接到您的 Mac,开始在您的网站上使用 Web 检查器:在您的 Mac 上,打开 Safari 并转到 Develop

    【讨论】:

    • 确实比控制台消息更有帮助。例如,这也允许您操作 DOM。有关设置的更详细说明,请参阅我的回答 Configuring iOS and Xcode for remote debugging
    • 如果您的目标是在 xcode 控制台上查看 javascript 日志消息,这将没有用。
    • 在不依赖插件的情况下实现 OP 想要的更简单更好的方法。
    【解决方案3】:

    Phonegap 有一篇关于此 here 的不错的博文。

    他们提到的其中一件事包括JSLint,我个人使用的数量相当可观。您只需在此处发布您的 JS 代码,它就会扫描错误和良好的样式。我还建议尝试将代码放在一个简单的 html 文件中并在浏览器上运行它。任何可能看起来与电话有关的东西,只要摆脱它。在浏览器端对您的 javascript 进行沙箱处理,然后使用 Firebug 或 Chrome 的调试器之类的东西,这很好。 (我也确信console.log() 会在那里工作:D)

    我也看到很多人提到,包括在博客文章中,关于Weinre,所以这是值得一试的。

    其他可能有帮助的相关问题:

    Phonegap - Javascript debugging in Xcode

    iOS PhoneGap debug Workflow

    How to see the javascript errors of PhoneGap app in Xcode?

    希望这会有所帮助。

    编辑:最近发现这个:Debugging in Phonegap

    【讨论】:

      【解决方案4】:

      console.log("msg here: "+var); 应该可以工作。 它将显示为...[INFO] msg here: hi!(在日期、时间、应用程序等之后)。

      要查看消息,请转到查看 > 调试区域 > 激活控制台(或 shift+cmd+C)

      【讨论】:

      • 呃,为什么不......这正是日志消息出现的地方
      • 应该在哪个程序(XCode、Safari?)中执行“查看>调试区域>激活控制台(或shift+cmd+C)”命令?
      【解决方案5】:

      正如@NickBreen 所说,您必须添加正确的插件,但我们还需要等待deviceready 事件在控制台显示日志语句之前触发。

      【讨论】:

        【解决方案6】:

        在更高版本的phonegap/cordova中,在你的项目中添加调试控制台插件:

        cordova 插件添加 org.apache.cordova.console

        【讨论】:

        • 在以后的phonegap/cordova版本中,这是:cordova plugin add cordova-plugin-console
        【解决方案7】:

        就我而言,我只需要在 cordova.js 中注释以下几行:

        if(typeof window.console === "未定义") { window.console = { 日志:函数(){} };

        【讨论】:

          【解决方案8】:
          1. Add the Debug console plugin
          2. 在示例phonegap 代码或之后运行的代码中的onDeviceReady 中添加console.log 消息。

          重要提示:控制台消息在 'deviceready' 事件之后显示。 Console.log 不会在此之前生成消息。

          【讨论】:

            【解决方案9】:

            问题

            通过命令行界面将控制台插件添加到ios平台(或重新安装后)时出现以下或类似的错误消息:

            “CDVPlugin 类 CDVLogger (pluginName: Console) 不存在。”

            解决方案

            打开您的 Xcode 项目并转到“构建阶段”选项卡。现在打开名为“Compile Sources”的下拉菜单。单击列表末尾的“+”号并添加“CDVLogger.m”或任何其他缺少的源。

            【讨论】:

              【解决方案10】:
              confirm("msg here: "+var);
              

              console.log("msg here: "+var);
              

              【讨论】:

              • 都不会将 phonegap javascript 日志消息发送到 xcode 控制台。
              猜你喜欢
              • 2014-08-03
              • 1970-01-01
              • 1970-01-01
              • 2020-10-19
              • 2022-01-16
              • 1970-01-01
              • 2012-12-26
              • 1970-01-01
              • 1970-01-01
              相关资源
              最近更新 更多