Phonegap - 在Xcode中进行Javascript调试

6
我正在开发一个基于Phonegap的项目。我想使用一些调试工具,以便能够将一些变量等调试信息输出到XCode控制台中。现在,我发现,为了实现这个目的,我需要调用console.log函数。
然而,问题在于,当在模拟器上运行应用程序时,XCode控制台中没有显示任何调试信息...我正在使用Phonegap版本0.9.3,我做错了什么?
谢谢您的回答。

你能解释一下在文档中哪里有关于console.log的信息吗?我找不到它。 - xus
你好,我通过升级到更高版本的PhoneGap解决了问题。我在PhoneGap谷歌小组中看到过,但可能今天已经删除了该帖子。我建议您将代码升级到新版本的PhoneGap,最终甚至有稳定版本发布了。 - Lukas1
3个回答

3
这个功能是最近完成的(两天前),并没有包含在0.9.3版本中。你可以在问题跟踪器中查看此票据以获取更多信息。
要使其工作,您需要从PhoneGap GitHub存储库拉取最新代码。从shell中执行以下命令:
$ git clone git://github.com/phonegap/phonegap-iphone.git

你可以从头开始构建源代码,然后就可以看到它了!

或者,你可以用 debug.log 替换你的 console.log 语句,在0.9.3版本中这样做也可以。


3

Lukas,有一个非常棒的工具可以用来调试你的phonegap项目。

使用iWebInspector,你基本上拥有了Firebug的功能。你甚至可以实时更改代码。


3
请将以下内容粘贴在文档开头附近,以便在您的其他JavaScript之前执行。
<script type="text/javascript">
    window.onerror = function(message, url, lineNumber) {
        console.log("Error: "+message+" in "+url+" at line "+lineNumber);
    }
</script>

您可以在Xcode控制台窗口中查看JavaScript错误的详细信息。

更新:上述技术将记录诸如未定义变量之类的错误。但是,例如缺少逗号之类的语法错误仍会导致整个脚本崩溃而不记录任何内容。

因此,您应该在 onDeviceReady 函数的开头添加以下内容:

console.log('Javascript OK');

如果在应用程序启动时,你的日志窗口中没有出现“JavaScript OK”,那么这意味着你的代码中有语法错误。
为了避免寻找缺少逗号,最简单的方法是将代码粘贴到 JavaScript 验证器中,例如此验证器:

http://www.javascriptlint.com/online_lint.php

让它帮你找到错误。

希望这能让调试过程变得更加轻松。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接