【问题标题】:Cordova 2.9, 3.0 no console.logCordova 2.9、3.0 没有 console.log
【发布时间】:2013-07-18 02:08:56
【问题描述】:

通过全新下载 Cordova 2.9 和 Cordova CLI,我通过 CLI 创建了 Hello World 应用程序。我还通过 CLI 添加了 iOS 平台。查看 index.js 文件(在 www/js 中),有一个 javascript 对象,其中包含触发 onDeviceReady 的函数,以及其中的一个函数,其中包含一个 console.log,它应该输出“Received Event : 设备就绪”。

在 iOS 6.1 模拟器中从 Xcode 运行此应用程序后,Xcode 的调试控制台中的 console.log 没有输出。我查看了 cordova.js 文件并注意到 CLI platform add 实用程序添加了 3.0(昨天在 3.0 版本之前运行),但我也尝试使用 cordova-2.9.0.js 运行该应用程序。

无论如何,我无法在我自己的应用程序或 Hello World 应用程序中获得一个 console.log 来显示在带有 cordova 2.9 或 3 的 Xcode 控制台中。我的 Xcode 控制台设置为所有输出。这是发布的错误吗?从我一直在做的所有谷歌搜索来看,Cordova 似乎对 console.log 的支持取决于版本,我不知道它现在应该在哪里。感谢您的帮助。

【问题讨论】:

    标签: javascript ios xcode cordova


    【解决方案1】:

    这对我来说是一个长达 2 小时的问题,所以我想我会分享爱!我全新安装了Cordova 3.0,然后用

    安装了官方的控制台日志插件

    cordova plugin add cordova-plugin-console

    但我仍然无法通过转到 Safari 来显示日志

    Safari > Develop > IOS simulator > index.html

    于是我打开Xcode 并查看了系统日志 File > New Log Window > system.log

    ...system.log 位于Files 部分下方弹出窗口的左侧。

    在那里我注意到有一个日志阅读

    Oct 14 01:12:57 Bens-MacBook-Pro.local ios-sim[37222]: stderrPath:     
    /Users/benconant/Dev/FirstCordovaApp/platforms/ios/cordova/console.log
    

    所以我跑了

    tail -F /Users/benconant/Dev/FirstCordovaApp/platforms/ios/cordova/console.log
    

    在一个新的终端窗口和繁荣......得到我的日志!

    仍然不知道如何从 Safari 中获取它们 :( 欢迎任何关于如何实现这一点的提示。祝你好运......这是/现在是一个粗鲁的。

    【讨论】:

      【解决方案2】:

      尝试通过运行以下命令将调试控制台插件添加到您的项目中:

      $ cordova plugin add org.apache.cordova.console
      

      【讨论】:

      • 然后呢?怎么得到调试输出?
      • adb logcat CordovaLog:D *:S
      • 这对我在 Android 4.4.2 上不起作用。 console.log("my message") 不会出现在 adb logcat 的输出中。另一方面,代码中同一点的alert("my message") 会显示警报,因此console.log 无法正常工作。
      【解决方案3】:

      控制台功能现在作为插件实现,您需要手动将其添加到项目中:

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

      【讨论】:

      • 是的,这也让我失望了。在弄清楚之前,我实际上在 JIRA 中输入了一个错误。 Fwiw,他们确实在“添加功能”部分的cordova.apache.org/docs/en/3.0.0/… 的文档中提到了它,但是很容易错过有关调试控制台的部分,因为控制台的能力日志一直是核心功能而不是插件或附加组件。
      • 能否请您解释一下如何使用它?在旧版本的 cordova 中,您可以从命令行使用 ./cordova/log。您现在如何访问日志?
      • @honzzz 问题是关于 JavaScript 中的 console.log 函数。在 Cordova 中,console.log 将写入平台上的相应控制台,即在 iOS 上它将写入 Xcode 控制台。
      • 对于 ios,插件似乎安装在platforms/ios/plugins/org.apache(...)console/www 中,并且在应用程序包中它被部署为www/plugins/org。阿帕奇(...)控制台/万维网。你能确认一下吗?
      • 此控制台插件仅适用于 Mac OS 环境下的 Xcode,对 Windows 开发者无用。
      【解决方案4】:

      问题在于命令行实用程序。有两种方法可以使用 PhoneGap/Cordova CLI 创建项目 - 使用您下载的 PhoneGap 文件夹附带的 bash 脚本,以及 (2) 安装 Cordova CLI

      我使用了 Cordova CLI,它不使用您下载的任何资源,它下载 PG 的最新版本 - 在本例中为 3.0,该版本在 phonegap.com 上尚不可用。它很可能不是一个稳定的版本,因为 console.log 在它创建的 iOS 应用程序中不起作用。

      我尝试使用我下载的 2.9 文件夹中的批处理脚本,它创建了一个具有全功能 console.log(ging) 的应用程序。

      【讨论】:

        猜你喜欢
        • 2023-04-10
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-08-01
        相关资源
        最近更新 更多