78

iOS 6 には、リモート デバッグのサポートが組み込まれています ( 1 分間のスクリーンキャスト)。WebKit Inspector の 1 年前のフォークのように見える新しい Safari Web Inspector とうまく機能します。JS 編集や WebSocket フレーム検査などの一部の機能がありません。

Safari の Web インスペクタは、WebKit リモート デバッグ プロトコルを使用します。ただし、Safari はトランスポート層として TCP/HTTP を使用しないため、Chrome との互換性がありません。

ティモシー ハッチャー (別名 Xenon) は、Apple の従業員です。

  • Safari はトランスポート層に何を使用しますか?
  • この謎のトランスポート層から HTTP へのプロキシを作成して、Chrome DevTools で動作させることはできますか?
4

2 に答える 2

3

https://github.com/andydavies/node-iosdriverによると、

Safari は Chrome と同じデバッグ コマンドを使用しますが、WebSocket 上の JSON ではなく、RPC 上のバイナリ plist としてラップされます。

したがって、はい、プロキシを作成することは可能です。

このスレッドは、MobileSafari インスペクターに接続しているときに Safari が行っていた TCP 接続を調べて、次のようなプロセスに接続されていることを確認して見つけましたwebinspectord

# pgrep -lf /Applications/Safari.app
33170 /Applications/Safari.app/Contents/MacOS/Safari -psn_0_21144617
# lsof -p 33170 | grep TCP
Safari  33170 ryan   16u    IPv6 0x799d5f43b472a241       0t0      TCP localhost:54892->localhost:27753 (ESTABLISHED)
# lsof -i :27753
COMMAND     PID USER   FD   TYPE             DEVICE SIZE/OFF NODE NAME
launchd     371 ryan   42u  IPv6 0x799d5f43b472aa01      0t0  TCP localhost:27753 (LISTEN)
Safari    33170 ryan   16u  IPv6 0x799d5f43b472a241      0t0  TCP localhost:54892->localhost:27753 (ESTABLISHED)
webinspec 33182 ryan    6u  IPv6 0x799d5f43b472aa01      0t0  TCP localhost:27753 (LISTEN)
webinspec 33182 ryan    7u  IPv6 0x799d5f43b181a621      0t0  TCP localhost:27753->localhost:54892 (ESTABLISHED)
# ps p 33182
  PID   TT  STAT      TIME COMMAND
33182   ??  S      0:00.28 /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator6.1.sdk/usr/libexec/webinspectord
于 2013-04-24T03:56:28.943 に答える