如何在 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.log 和 debug.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 日志消息的主要内容,如果未能解决你的问题,请参考以下文章
C 中的 FTDI D2XX API 在命令行控制台上工作,但在由 Xcode 和 Swift 编程在 macOS 上构建的应用程序中始终返回零
如何在 Firebase 控制台上部署 ionic 4 应用程序?