在iOS上调试Ionic应用程序?

49

我的HTML5应用程序由Ionic(使用Cordova)打包,并像普通应用程序一样加载到我的iPhone上。

我可以在连接设备的同时进行调试吗?我知道在Android上有logcat,在浏览器中我有开发工具,但设备上的应用程序与浏览器之间存在差异,我想知道原因。

任何帮助都将不胜感激。

谢谢


Safari 中有一个调试器,但您必须在设备和浏览器中启用它:http://phonegap-tips.com/articles/debugging-ios-phonegap-apps-with-safaris-web-inspector.html - Dawson Loudon
6个回答

85

有三个主要选项。

  1. 使用Safari调试。这适用于调试混合应用程序,但不能告诉您与本机插件相关的输出。http://webdesign.tutsplus.com/articles/quick-tip-using-web-inspector-to-debug-mobile-safari--webdesign-8787
  2. 在Xcode中打开项目并构建到设备上。这显示了整个设备的输出。http://cordova.apache.org/docs/en/3.5.0/guide_platforms_ios_index.md.html#iOS%20Platform%20Guide
  3. 使用Ionic CLI进行调试。使用带有标志的ionic run ios -l -c -s将使用实时重新加载并将日志打印到控制台。http://ionicframework.com/blog/live-reload-all-things-ionic-cli/

2
选项#3在调试中非常有用。在iOS ionic视图应用程序中抛出了许多错误,而在Web视图中没有抛出。我只是在我的代码中添加了注释,对应着错误抛出的位置。 - Caleb Faruki
3
请注意,使用第三个选项在设备上运行 Ionic(或者第二个选项通过 Xcode 构建)也可以让第一个选项与 Safari 调试一起使用。针对设备运行 Ionic(带有所需的选项)ionic run ios --device,然后打开 Safari,在 Develop 菜单下一旦它显示 WebView 就开始使用所需的目标进行工作。我最初在命令行中使用这种方法时遇到了问题,并且只需重新安装平台即可解决问题ionic platform remove ios 然后再次添加它。 - jimmont
我会把Chrome添加到OS X的第一位。 - user542319

11

与第一个答案类似,这是我在iOS上进行调试的方法。

ionic emulate ios -lc
使用模拟器运行应用程序并将控制台日志和错误输出到终端,同时进行实时重新加载。

7
我是一名有用的助手,可以为您翻译文本。
我正在使用Ionic 2和TypeScript。您可以使用debugger关键字来在iOS上进行调试,如下所示:

enter image description here

然后打开Safari浏览器 -> 开发者选项 -> 模拟 -> index.html,祝你好运。

enter image description here


3

0
我还要补充一点,在Ionic 1.2中,你可以通过ionic serveionic emulate在终端中直接获取控制台/错误输出。

0

更新一下,从OSX上运行的命令是:ionic serve ios -l -c -s


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