iOSリモートデバッグ


199

Chrome for iOSの最近のリリースで、Chrome iOSのリモートデバッグをどのように有効にするのですか?

更新:iOS 6のリリースにより、リモートデバッグをSafariで実行できるようになりました。


2
MacのSafariでリモートデバッグを実行できるようになりました。ただし、LinuxまたはWindowsで開発している場合は、まだweinreを使用する必要があります(gregersの回答に記載されています)。
2015

3
Safariを使用したリモートデバッグでは、モバイルSafariのみがサポートされ、iOS Chromeはサポートされません。
Matt Jensen

回答:


111

更新:

これはないもう、従ってください最良の答えgregers「アドバイスを。

新しい答え:

Weinreを使用します

古い答え:

これで、リモートデバッグにSafariを使用できます。ただし、iOS 6が必要です。

ここにhttp://html5-mobile.de/blog/ios6-remote-debugging-web-inspectorの簡単な翻訳があります

  1. MacとUSB経由でiDeviceを接続します
  2. MacでSafariを開き、開発ツールをアクティブ化します
  3. iDeviceで:[設定]> [safari]> [詳細設定]に移動し、Webインスペクターをアクティブにします
  4. iDeviceで任意のWebサイトに移動します
  5. Macの場合:開発者メニューを開き、iDevice(上部のSafariメニューにあります)からサイトを選択します。

Simonsが指摘したように、リモートデバッグを機能させるには、プライベートブラウジングをオフにする必要があります。

[設定]> [Safari]> [プライベートブラウジング]> [オフ]


11
うん、私はすでにこれを使っています。最後に!SafariのWindowsバージョンにはないのですが。
Hyangelo 2012

5
Chromeですぐに同じ機能が有効になり、すべてのOSで機能するようになることを願っています。
F Lekschas 2012

49
はい-これが尋ねられた質問に答えた場合、それは確かに素晴らしいでしょう!
アイリーンナップ2013年

4
シークレットブラウジングをオフにする必要はなくなりました。
マイル

3
反対投票の理由:質問ではSafari ではなくChromeを求めます。
NickG

230

選択した回答はSafari専用です。現時点では、iOSのChromeで実際のリモートデバッグを行うことはできませんが、ほとんどのモバイルブラウザーと同様に、簡単なデバッグにWeInReを使用できます。設定は少し面倒ですが、DOMの検査、スタイル設定の確認、DOMの変更、コンソールの操作を行うことができます。

ここに画像の説明を入力してください

設定する:

  • nodejsをインストールする
  • npm install -g weinre
  • weinre --boundHost -all-
  • http:// {wifi-ip-address}:8080 /を開き、ターゲットスクリプトコードをコピーします
  • スクリプトタグをページに貼り付けます(またはブックマークレットを使用します)。
  • デバッグクライアントユーザーインターフェイスへのリンクをクリックします(http:// {wifi-ip-address}:8080 / client /#anonymous)
  • クライアントの下に緑の線が表示されたら、ブラウザが接続されています

ブックマークレットは、インストールが少し面倒です。デスクトップとモバイルの両方のChromeでブックマーク同期をオンにすると、最も簡単です。ローカルのweinreサーバーからブックマークレットのURLをコピーします(上記と同じ)。残念ながら、適切にURLエンコードされていないため、機能しません。JavaScriptコンソールを開いて、次のように入力します。

copy(encodeURI('')); // paste bookmarklet inside quotes

これで、クリップボードにURLエンコードされたブックマークレットがあるはずです。[ モバイルブックマーク]の下の新しいブックマークに貼り付けます。それをweinreまたはタイプするのが簡単な何かと呼んでください。それはあなたのモバイルにかなり速く同期されるべきなので、検査したいページをロードしてください。次に、URLバーにブックマーク名を入力すると、ブックマークレットが自動補完候補として表示されます。それをクリックしてブックマークレットコードを実行します:)

ここに画像の説明を入力してください


27
これが唯一の正解です。他のすべてはサファリ(公園の中を歩く)に関連しています
Mars Robertson

2
非常に役立つ指示!ブックマークレットをインストールするには、コピーを実行する代わりに、それを追加するだけです。提供されている「weinre target debug」ブックマークレットリンクをブックマークツールバーにドラッグするだけです(ツールバーが表示されCtrl-Shift-Bていない場合は、ツールバーを表示します)。
カイカーバー

ブックマークレットを機能させるには、ブックマークレットをインストールした後、ブラウザを更新する必要がありました。
ooolala 2015年

npm install -g weinre私のために働いていませんでした。そのため、バージョンで実行する必要がありましたnpm install -g weinre@2.0.0-pre-I0Z7U9OV。最新バージョンはnpmjs.com/package/weinreで確認してください。
vinesh 2016年

1
FWIW、weinreは現在、シャドウdomをサポートしていません。最上位の要素とそれらのlight domのみが表示されます。また、最上位レベルの要素とその陰影のあるドーム(および軽いドーム)を除いて、陰のあるドームには機能しません。
マックスウォーターマン

52

現在、iOSでChromeを直接リモートデバッグすることはできません。Mobile Safariとは微妙に異なる動作をするuiWebViewを使用します。

いくつかのオプションがあります。

オプション1:Safariのインスペクターを使用したリモートデバッグMobile Safari。問題がMobile Safariで再現される場合は、これが間違いなく最善の方法です。実際、iOSシミュレーターを使用するのはさらに簡単です。

オプション2:スリム化されたデバッグエクスペリエンスにはWeinreを使用します。 Weinreには多くの機能はありませんが、十分な場合もあります。

オプション3:同じように機能する適切なuiWebViewをリモートデバッグします。

これを行う最善の方法を次に示します。XCodeインストールする必要があります。

  1. github.com/paulirish/iOS-WebView-Appに移動し、「Zipをダウンロード」するかクローンを作成します。
  2. XCodeを開き、既存のプロジェクトを開いて、ダウンロードしたプロジェクトを選択します。
  3. WebViewAppDelegate.mを開き、urlStringをテストするURLに変更します。
  4. iOSシミュレーターでアプリを実行します。
  5. Safariを開き、[ 開発 ]メニューを開き、[ iOSシミュレータ]を選択して、Webビューを選択します。
  6. Safari InspectorがuiWebViewを検査します。

ここに画像の説明を入力してください

ここに画像の説明を入力してください

ここに画像の説明を入力してください


7
Chromeを使用してWindowsでiOS(iPhone / iPad)を検査する方法は?その方法はありますか?
Surjith SM 2015

@SurjithSMこの回答は、XCodeをWindowsにインストールしてiOSアプリを作成できない場合、Windowsでは役立ちません。代わりにこれを試してみてくださいstackoverflow.com/a/22047495/1737158
ルーカス・Liesis

私はすでに素晴らしいツールであるgithub.com/google/ios-webkit-debug-proxyの経験があり、昨日iOSエミュレーターでGoogle Chromeをデバッグしてみました-これは最も素晴らしい経験です。#3に感謝
Oleg Andreyev

10

私の理解では、Google Chromeは、Androidのような本格的なChromeの実装ではなく、iOSのUIWebViewを利用しています。


1
ええ、私がこの質問をした後でそれがわかりました。それは本当にアップルの残念なことです。私は、誰かがそれを行う方法を見つけたという偶然の機会にこの質問を開いたままにします。
Hyangelo

4

多くのリモートコンソールは正常に動作します。http://farjs.comは私のプロジェクトであり、それを使用してサファリでは発生せず、Crome iOSに固有の問題を正常にデバッグすることができました。(そしておそらく他のすべてのモバイルブラウザ)

問題は、Chromeではブックマークレットをインストールできないため、デバッグコードの挿入が少し難しいことです。

代わりに、デバッグするページで1つのタブを開き、farjs.comで別のタブを開いて、「ブックマークレット」をクリックします。

ブックマークレットのJSコードをコピーし、デバッグする必要があるページを含む最初のタブに戻り、ブックマークレットのコードをロケーションバーに貼り付けます。

最後のステップは、ロケーションバーの先頭までスクロールして、「javascript:」を追加することです。Chromeによって削除されるためです。


4

私はVorlonをお勧めします。私はVorlonのUIが好きで、SSLをサポートしています。私のアプリケーションはHTTPSです。ngrok、ghostlab、vorlonでweinreを試しましたが、vorlonのみが正常に動作します。


3

まだ試していませんが、iOS WebKitデバッグプロキシ(ios_webkit_debug_proxy / iwdp)を使用すると、UIWebViewをリモートでデバッグできます。README.mdから

ios_webkit_debug_proxy(別名iwdp)は、開発者がMobileSafariおよび検査することができますUIWebViewsを、実際のクロムデベロッパーツールUIとChromeリモートデバッグプロトコル経由してシミュレートされたiOSデバイス。DevToolsリクエストはAppleのRemote Web Inspectorサービス呼び出しに変換されます。


1
Chrome WebViewのサポートは、理論的にはiOS Webkitデバッグプロキシの上に構築されたgithub.com/RemoteDebug/remotedebug-ios-webkit-adapterを介して実装されます。これまでのところ、このプロジェクトでの成功は限られていましたが、さらに良くなると思います。
Matt Jensen

3

Vorlon.JSは、iOSまたはその他のクライアントのリモートデバッグに使用できます。

  1. グローバルにインストールするだけです npm i -g vorlon
  2. 使用してサーバーを起動 vorlon
  3. サーバーが稼働している状態で、ブラウザーでhttp:// localhost:1337を開き、Vorlon.JSダッシュボードを表示します
  4. 最後のステップは、次のスクリプトタグをアプリに追加してVorlon.JSを有効にすることです。
    <script src="http://<yourExternalIP>:1337/vorlon.js"></script>
  5. 接続されているすべてのクライアント(iPhone、Androidなど)は、Vorlon.JSダッシュボードのクライアントリストで利用可能になります ここに画像の説明を入力してください

このアプローチは、ngrokを使用してローカルホストで実行されていないアプリをデバッグするためにも使用できることに注意してください。詳細については、https://stackoverflow.com/a/45443203/2073920を参照してください。

免責事項

私は単なるユーザーであり、Vorlon.JSおよびngrokとは関係ありません。


私はすべての手順を実行しましたが、Macで実行されているVorlonJSで私のiPhoneの見通しが検出されません
Amarjit Singh

2

また、「プライベートブラウジング」をオフにする必要があります。

[設定]> [Safari]> [プライベートブラウジング]> [オフ]


なぜpplがこの回答に反対票を投じるかはわかりません。リモートデバッグを可能にするには、プライベートブラウジングを実際にオフにする必要があります。
ベースコード

14
@basecodeコメントに含める必要がある補完的な回答なので。
GusDeCooL 2013

2
@GusDeCooLなるほど、ありがとう!これを説明する反対投票者のコメントは役に立ちました。
ベースコード

0

私も同じ機能を探していますが、現時点ではまだ実装されていません。ただし、2つのオプションが考えられます。

  1. ChromeとSafariの動作はまったく同じです。Chromeは、Safariでサポートされているジャイロスコープやその他の関連イベントもサポートしています。私は現在、Safariのデバッグコンソールを有効にすることで、Webアプリをデバッグしています([設定]-> [Safari]を使用)。

  2. また、リモートデバッグ/検査と同期を可能にするAdobe Shadowも試してください。

HTH。


0

Adobe Edge Inspect(https://creative.adobe.com/products/inspect)は、すべてのモバイルデバイスのIOSおよびAndroid(Windows Phoneは除く)をデバッグするもう1つの方法です。リモートDOM検査/変更にweinreを使用します。これは最速の方法ではありませんが、Windowsで動作します。


Adobe Edge Inspectは、Adobe Creative Cloudにリストされなくなりました。adobe.com/products/edge-inspect.htmlを参照してください。
Ron Inbar 2016年

確かに、ただし、現在開発中ではないという事実にもかかわらず、現在のサブスクリプションでダウンロードすることはできます。ここでそれを行う方法を参照してください:helpx.adobe.com/creative-cloud/kb/...
HumbleBeginnings

ただし、iOSアプリはご利用いただけなくなりました。まだAndroidで作業していますが、iOSはもう機能していません:itunes.apple.com/app/id498621426
bg17aw


0

私はremotedebug-ios-webkit-adapterを使用していますが、IOSとWindows 10のChromeで開いているデバッガーでうまく機能します。

それが1つのリンクに役立つ場合は喜んでいます


0

注:私はGhostlabのクリエイターであるVanamcoとは一切関係がありません。

Chrome固有の問題をデバッグできることが私にとって重要だったので、私はそれを助けることができる何かを見つけることに着手しました。私はGhostlab 3に喜んでお金を投げました。ChromeとSafariのモバイルブラウザーをデスクトップで表示しているかのようにテストできます。デバッグしたいデバイスで使用するLANアドレスを指定するだけです。そのアドレスを使用する各アプリケーションがGhostlabのリストに表示されます。

ここに画像の説明を入力してください

ここに画像の説明を入力してください

強くお勧めします。


-2

iOSでSafariデスクトップを開く

開発->レスポンシブデザインモード

デバイスの下の[その他]をクリックします

これを貼り付け:Mozilla / 5.0(iPad; CPU OS 10_2_1 like Mac OS X)AppleWebKit / 602.1.50(KHTML、like Gecko)CriOS / 56.0.2924.79 Mobile / 14D27 Safari / 602.1

Safari検査ツールを使用します。


-3

免責事項:私はBrowserStackで働いています。【確認済み】投稿かどうか(所属している会社の商品を提案できますか?


iOSでSafariをデバッグします(現時点ではChromeは対象外です。詳しくは先読みしてください。)

これはどのように機能しますか?

  • BrowserStackで、実際のデバイスでセッションを開始する必要があります(エミュレータはありますが、実際のデバイスでセッションを開始する必要があります)。たとえば、iPhone 6S-Safari / Chrome(Chromeの開発ツールはまだありませんが、ロードマップにあります)
  • URLを入力してください
  • DevToolsをトリガーして、BrowserStacksリモートデバイスで開いているWebページを検査できます。以下の同じ画面を共有しました。

実際の電話でのDevToolsの使用

要素にカーソルを合わせ、HTML、CSSを編集して、デスクトップブラウザーの開発ツールが機能するのと同じようにします。

実際の電話でのDevTools、レスポンシブWebサイトのデバッグ。


DevToolsを使用して実際の電話でJavaScriptを実行する

Consoleタブに切り替え、JavaScriptコードを実行し、console.log()出力を確認するなど...

開発ツールを使用して実際の電話でJavaScriptを実行する


ネットワークタブ、リクエストヘッダー、レスポンスなどをチェック...

リクエストを確認するためのネットワークタブ


BrowserStackでのDevToolsのサポート?

  • DevToolsは次の場所で入手できます。

    • 実際のデバイス-iOS-Safari(iOS Chrome用のDevToolsはロードマップにあります)
    • 実際のデバイス-Android-Chrome(現在のところ、Androidデバイスで使用できるのはChromeのみです)
  • クライアントブラウザはChromeまたはFirefoxである必要があります。つまり、BrowserStack Real Device DevToolsを使用するには、MacOSXまたはWindowsでChromeまたはFirefoxブラウザーを使用する必要があります。

注:すべての実際のデバイスでテストするプランを購入する必要があります。無料のユーザーとして、いくつかのReal Androidデバイス(タブレットを含む)といくつかのReal iOSデバイス(タブレットを含む)を取得します。また、エミュレータも提供するため、リアルデバイスという言葉を強調します。

詳細については、モバイル機能ページのDevToolsセクションを参照してください


3
彼はiOSでChromeをデバッグするように求めました。私はbrowserstack顧客を午前とiOSのSafariのデバッグが可能であるように、マックを所有しますが、Chromeはリモートでデバッグ可能であることを可能に遅れない
Fabの

@fabsロードマップにそれがあります。また、Safari-iOSデバイス、およびAndroidデバイスのChromeでのみ機能することも述べました:)
Alien

レイアウトの問題については、両方のブラウザーのレイアウトエンジンがwebkitであるため、これは問題にはなりません。ローカルサーバーテスト機能と組み合わせると、localhostをデバッグするために追加の設定は必要ありません。
Tim Vermaelen 2017

1
答えはとにかく質問に対処していません。Browserstackは優れたサービスを提供しますが、この回答は完全にトピックから外れています。
Matt Jensen
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.