Is there a way to debug JavaScript in the iPhone/iOS Safari browser?

check out weinre or use the remote version debug phonegap.

cu


I faced a simple use case in which I only needed to test my code on a Safari's JS engine (Merely debugging, simply running it and consuming traces).

To that end I used Epiphany web browser, which is both free and uses JavaScriptCore JS engine which is also used by Safari. Epiphany isn't provided with developer tools, so I used http://jsconsole.com/ to view my traces.

Though it is a thin solution, it helped me find a line which worked on Chrome but didn't on Safari.


With the release of iOS 6, Apple released Remote Web Inspector for their Mobile Safari, and this is huge. Basically you have all the features and power of Web Inspector in regular Safari, for your mobile apps, including Phonegap apps.

I've used weinre but this tool makes it obsolete for newer versions of iOS (unfortunately not for old versions of iOS, non-iOS devices, or if you're on Windows) since its a full-featured debugger with breakpoints and everything.

Requirements:

  1. A Mac with Safari 6+
  2. Either a USB-attached iOS 6+ device or xCode 4.5+ running an iOS 6+ simulator

How to activate the inspector:

  1. In your simulator or device, open Settings > Safari > Advanced > Web Inspector > On
    (this is on by default in the simulator)
  2. In Safari 6+ for Mac, access your page from the Develop menu. You can enable Develop menu in Safari's Advanced Preferences if its not showing up.

    Safari Web Inspector

    enter image description here

More discussion at the bottom of:
http://www.mobilexweb.com/blog/iphone-5-ios-6-html5-developers

(Also, if you read about a "secret private interface" or iWebInspector somewhere, these are also made obsolete.)


you can also inject firebug using a simple bookmark. I've used it on the ipad and my debugging abilities were immensely enhanced.