【问题标题】:console.log not working in phonegap when built for ios (plugin is installed)为 ios 构建时,console.log 在 phonegap 中不起作用(安装了插件)
【发布时间】:2014-03-05 20:17:17
【问题描述】:

我正在把头发拉出来。我正在使用 phonegap 3.4 构建一个 iOS 应用程序。当我构建项目并在模拟器中运行时,我想在 xcode 调试窗口中查看 console.log 的输出,但它不起作用。我已经安装了 org.apache.cordova.console 插件,但没有运气。我看到一些正常的调试输出,例如“由于页面加载而重置插件”,但我的 console.logs 都没有出现。有什么想法吗?

这并没有解决我的问题:console.log is not working in iOS Phonegap App even after adding the console plugin

【问题讨论】:

  • 你在 safari 中尝试过开发者控制台吗?
  • 它显示在那里,但是当我在设备上运行时,我需要能够看到控制台,而不仅仅是模拟器。
  • 如果您将 iOS 设备插入计算机,您可以运行相同的检查器。
  • 那行得通。必须在设备设置中启用它。有没有办法让日志消息出现在xcode中?
  • 我不是 100% 确定,但我认为你必须为它编写一个插件。

标签: ios cordova


【解决方案1】:

试试 alert();
它与 console.log();
基本相同 但您需要安装不同的插件:org.apache.cordova.dialogs

我没有 iphone 也没有 mac,所以我不能保证它会在他们身上工作。但是在我尝试过的一台 android 设备中,当 console.log() 失败时。 Alert() 成功。

有两种类型的警报:

  1. alert('text'); //这实际上是javascript
  2. navigator.notification.alert(message, alertCallback, [title], [buttonName]) //这是phonegap函数

就我而言。我只需要使用第一个。
关于第二个警报功能的更多文档如下:
https://cordova.apache.org/docs/en/3.0.0/cordova_notification_notification.md.html#notification.alert

我希望它也可以在 xcode 上运行。

【讨论】:

  • 这对于我的需求来说已经足够了,谢谢
【解决方案2】:

确保您安装了控制台插件。虽然 Android 能够开箱即用地执行此操作,但 iOS 不支持登录到控制台:

【讨论】:

  • 链接已失效。
【解决方案3】:

解决方案是:从您的 deviceready 侦听器函数中调用 logger.__onDeviceReady 函数:

function onDeviceReady() {
    if (window.cordova.logger) {
        window.cordova.logger.__onDeviceReady();
    }
}

document.addEventListener('deviceready', onDeviceReady, false);

【讨论】:

  • 我在 os x 10.13.6、cordova 8.0.0、cordova-ios 4.4.5 上看不到 window.cordova.logger
【解决方案4】:

尝试改用“document.write”。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-10-11
    • 2018-05-27
    相关资源
    最近更新 更多