Eseguire il Debug di iOS 6+7 Mobile Safari usando Chrome DevTools

iOS 6 viene fornito con built-in il supporto per il debug remoto (1 minuto screencast). Si sposa perfettamente con il nuovo Safari Web Inspector che sembra essere un 1 anno di età fork di WebKit di Ispezione. Manca di alcune caratteristiche, quali JS editing e WebSocket cornici di ispezione.

Safari Web inspector non utilizzare WebKit debug remoto protocollo. Tuttavia, Safari non utilizzare il protocollo TCP/HTTP come un livello di trasporto, rendendo incompatibile con Chrome.

dice Timothy Hatcher (aka Xenon), Apple employe

  • Cosa Safari utilizzo per il trasporto di livello?
  • Posso fare un proxy da questa misteriosa livello di trasporto HTTP farlo funzionare con Chrome DevTools?
  • devforums.apple.com/thread/158126
  • il devforums.apple.com link postato sopra non funziona.
  • Funziona, ma è necessario effettuare il log in.
  • Non ha funzionato per me, anche dopo aver effettuato il login con il mio account dev. Ricevo un messaggio di errore “errore di pagina”.
  • Per chi non ha accesso la risposta dice: “Safari Web inspector non utilizzare WebKit debug remoto protocollo. Tuttavia, Safari non utilizzare il protocollo TCP/HTTP come un livello di trasporto, rendendo incompatibile con Chrome.”
  • Sì, il link è di un cattivo collegamento. Grazie a @Erik per la pubblicazione di informazioni.
  • Maggiori dettagli al link: un proxy scritto da parte di Google: github.com/google/ios-webkit-debug-proxy

InformationsquelleAutor NVI | 2012-07-06



2 Replies
  1. 93

    Il di iOS WebKit Debug Proxy progetto consente questo.

    Eseguire il Debug di iOS 6+7 Mobile Safari usando Chrome DevTools

    Per iniziare, installare con homebrew:

    brew install ios-webkit-debug-proxy

    Eseguire il simulatore (se eseguire il simulatore):

    SIM_DIR=/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer
      "$SIM_DIR/Applications/iPhone Simulator.app/Contents/MacOS/iPhone Simulator" \
      -SimulateApplication \
      $SIM_DIR/SDKs/iPhoneSimulator6.1.sdk/Applications/MobileSafari.app/MobileSafari

    Eseguire il proxy:

    ios_webkit_debug_proxy

    Verificare la presenza di errori

    Esaminare il dispositivo per un messaggio di errore:

    Impossibile connettersi al lockdownd. Uscendo.: No such file or directory. In grado di collegare ispettore ios_webkit_debug_proxy

    Quindi controllare il dispositivo per un prompt come questo (iOS 7 esempio: )

    Fiducia connessi al computer?

    Scegliere la “Fiducia” e provare a eseguire nuovamente il proxy:

    ios_webkit_debug_proxy

    Aprire default devtools

    Quindi aprire http://localhost:9221

    DevTools sono, per impostazione predefinita, una versione precedente (da Chrome circa 18 Marzo 2012).

    Provare la moderna devtools

    A causa protocollo modifiche, parti moderna DevTools frontend potrebbe non funzionare completamente. Si può provare con l’apertura di

    chrome-devtools://devtools/bundled/inspector.html?ws=localhost:9222/devtools/pag‌​e/2

    dove il port e page valori sono i valori che stai vedendo dal http://localhost:9221. Di nuovo, questo può effettivamente essere bacato.

    Leggi di più documenti in ios-webkit-debug-proxy pagina del progetto.


    Aggiornamento: Questo funziona con iOS7 e. Aggiornamento: Aggiunto fresca devtools frontend istruzioni via patrick.. Aggiornamento: Cambiato devtools.html per inspector.html per Chrome 45, e il nuovo ws hack via Scheintod.

    • Si prega di ragazzi fatemi sapere se c’è una versione di Windows per farlo. Tks!
    • Io uso cromi corrente devtools, ma uso chrome devtools://devtools/bundle/devtools.l’html?host=localhost:9222&page=1: assicurarsi che il localhost:porta&page=# è uguale a quello creato per voi quando si passa attraverso la porta 2221
    • Impossibile connettersi al lockdownd. Uscendo.: No such file or directory in Grado di collegare 66c5cb9cc4d362b2aecf208axxxxxxxxxxxxx di ispezione
    • appena finito di win32 porta github.com/artygus/ios-webkit-debug-proxy-win32
    • Sembra ottimo tranne che non riesco a vedere tutti gli stili.
    • sì, funziona meglio con iOS6.. lo strumento ha alcuni problemi con iOS7, io suggerisco di usare l’ultima devtools (solo per iOS7) in bundle con Chrome – risolve alcuni problemi. ma in generale “hackish” regole interruzioni di stili scheda
    • Ho provato con l’ultima versione di Chrome prima che l’interruttore a Lampeggiare (non so se è importante) e posso vedere stili: chrome-devtools-frontend.appspot.com/static/27.0.1453.116/…
    • esso è legato alla github.com/google/ios-webkit-debug-proxy/issues/20 credo che
    • Io ancora non in grado di eseguire il debug di javascript funzione. Posso farlo?
    • Non ho usato, ma ho trovato questa pagina collegati da weinre: lexandera.com/aardwolf
    • Per coloro in attesa di supporto di Windows, c’è un’altra opzione nel frattempo: autumnator.wordpress.com/2014/06/13/…
    • Ho solo questo di lavoro via ws parametro. È possibile ottenere un webservice url se si chiama localhost:9222/json e quindi aggiungere questo in questo modo: chrome-devtools://devtools/bundled/devtools.html?ws=localhost:9222/devtools/page/2
    • Posso utilizzare questo strumento per il debug di applicazioni per iOS (io.e: sencha touch). Qualcuno può suggerire a me per favore ? O qualsiasi strumento che aiutare il debug di applicazioni iOS (ibrido apps) utilizzando chrome dev tools.

  2. 3

    Secondo https://github.com/andydavies/node-iosdriver,

    Safari utilizza gli stessi comandi di debug come Chrome, ma avvolto come binario plists su RPC, piuttosto che JSON su websockets.

    Quindi, sì, sarebbe possibile scrivere un proxy.

    Ho trovato questo thread guardando a quello che le connessioni TCP Safari stava facendo mentre si è connessi a MobileSafari di ispezione, visto che è collegato a un processo chiamato webinspectord e Googling che:

    # 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
    • Io uso ios-webkit-debug-proxy e ho smesso di lavorare sul nodo-iosdriver

Lascia un commento