iOSシミュレータ内MobileSafariのWebインスペクタを有効にする方法
価値ある情報をユーザー視点で発信するブログ
iOSシミュレータ内のMobileSafariを、スマートフォン向けWebサイトの開発に使っている人は多いのではないでしょうか。
Safariで言うところの「Webインスペクタ」、Google Chromeで言うところの「デベロッパー ツール」がiOSシミュレータ内のMobileSafariでも使えたらなぁ、と思いませんか?
Enabling Remote Debugging via Private APIs in Mobile Safari – Nathan de Vries |
上記のサイトの情報によれば、プライベートメソッドを実行することでMobileSafari内でWebサーバを起動、iOSシミュレータの外からMac側のブラウザで「http://localhost:9999」にアクセスしに行くと、Safariで言うところの「Webインスペクタ」相当の機能がブラウザ越しに使えるということです。
実際にやってみました。大変便利ですね!
そこで、iOSシミュレータ内のMobileSafariの「Webインスペクタ」の有効/無効を切り替えるアプリを作ってみました。
MSRemoteInspectorEnabler-1.0.zip
iOSシミュレータ、ならびにその中でMobileSafariを起動後、MSRemoteInspectorEnablerの「Enable」ボタンを押すとMobileSafariの「Webインスペクタ」が機能を始め、Safariが起動して「http://localhost:9999」を開きます。
バンドルの中にシェルスクリプトが入っているだけなので、Safariが起動するのがイヤ、という人は書き換えてください。
ちなみに、僕の環境では、Google Chromeでも、Firefoxでも正常に機能しませんでした。
大変便利なので、もっと早く知りたかったですね〜。
iWebInspectorというものもあるようです。
Debugging tool for Safari on iPhone, iPad and PhoneGap apps – Remote Inspector (Firebug) for JavaScript, HTML and CSS |
iOS 5以降にのみ存在するプライベートメソッドを使うため、iOS 4.x.xでは動きません。