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

Posted

技术标签:

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

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

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

【问题讨论】:

【参考方案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】:
    在您的真实 iDevice 或 ios 模拟器中转到 Settings > Safari > Advanced 并打开 Web Inspector。 桌面 Safari:Safari > Preferences > Advanced 并选中 Show develop menu in menu bar 复选框。 现在您已经打开了 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】:
    Add the Debug console plugin 在示例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 控制台。

以上是关于如何在 xcode 控制台上查看 phonegap javascript 日志消息的主要内容,如果未能解决你的问题,请参考以下文章

在ios模拟器中查看Console.log

无法在 Firebase 控制台上查看事件参数

C 中的 FTDI D2XX API 在命令行控制台上工作,但在由 Xcode 和 Swift 编程在 macOS 上构建的应用程序中始终返回零

如何在 Firebase 控制台上部署 ionic 4 应用程序?

如何在现有的 Xcode 项目中安装 phoneGap [关闭]

phonegap 推送通知在 Xcode 中显示错误