iPhone应用程序中调试JavaScript的最佳方法是什么?

8

我正在iPhone上进行一些粗略的开发。我正在编写一个本地的iPhone应用程序,它使用UIWebView对象来加载带有JavaScript的网站。我发现在iPhone上调试JavaScript代码非常困难。 有哪些可用于此问题的方法/技术?

6个回答

3
如果您有一部安卓手机,您可以使用桌面版Chrome的完整开发者工具和USB电缆(非常方便)来调试您的应用程序。
这意味着调试器、分析器、HTML检查器等都在您的手机上运行,但是通过在笔记本电脑/台式计算机上运行的Chrome进行访问。
安卓Chrome和iPhone移动版Safari通常比桌面版Safari更相似,屏幕格式将类似,布局类似,您将能够尝试真实的触摸事件等。

https://developers.google.com/chrome/mobile/docs/debugging

这需要使用Chrome浏览器,一款能够运行Android Chrome应用的Android设备以及一根USB电缆。

您需要安装并使用ADB控制台命令,但一旦它起作用,您就可以使用完整的Chrome开发者工具界面来调试移动设备。


3

由于iPhone上的Safari使用的是Webkit,因此您可以使用桌面Safari的Web检查器中内置的调试器。虽然在不同平台之间可能存在一些差异,但它将为您提供有关解释器中正在发生的情况的相当好的想法。


3
我同意。但是,如果你的应用在Safari中运行良好,但在iOS模拟器中停滞不前呢?哪一个更能代表iPhone/iPad移动浏览器? - Wytze

2
与Adrian Harris类似,您可以通过在Dashcode中创建一个虚拟项目,点击“移动Safari”,然后点击“运行”来调试iPhone上的任何网站。
一旦iPhone模拟器打开并且Safari打开了虚拟项目网站,点击Safari的url栏,输入任何公共url,当您到达网站时,您可以点击“暂停”,此时调试器会在任何JavaScript代码运行后弹出。此时可以检查变量、设置断点等。

1

我知道这是一个老问题,但想要用最新的信息更新答案 ->

新版Safari(适用于Mac)有一种方法可以在实际的iPhone或iPad上实时使用Web检查器,如果您拥有最新的软件(Safari、iOS6和MacOS)和连接的iDevice(通过电缆连接)。

您可以通过在iPhone的“高级”Safari首选项中启用它,然后在Mac上的Safari开发菜单下访问它。有关更多信息,请参见此处:http://developer.apple.com/library/safari/#documentation/AppleApplications/Reference/SafariWebContent/DebuggingSafarioniPhoneContent/DebuggingSafarioniPhoneContent.html#//apple_ref/doc/uid/TP40006515

您还可以以同样的方式访问模拟器(与xCode一起安装)。


0

我在使用具有与iPhone模拟器配对的JavaScript调试器的Dashcode时取得了一些成功,但是要让它正常工作有点棘手,因为您无法在不打开项目的情况下启动它。但是我记得,我将项目发布到Web上,在Dashcode中启动了一个占位符项目,然后调试了占位符项目。然后我在模拟器中导航到我的URL,并能够设置断点。可能还有其他一些需要跳过的步骤,但一旦它开始工作,就像我在Mobile Safari中拥有了真正的调试器,这非常棒。

祝你好运


0

我同意pjbeardsley的看法。我建议在http://www.testiphone.com/中使用您的网页,以便您可以了解其尺寸大小。我也强烈建议使用Safari和Web检查器。


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