İOS için Chrome'un son sürümünde, Chrome iOS için uzaktan hata ayıklamayı nasıl etkinleştirdiğinizi merak ediyordum.
Güncelleme: iOS 6'nın piyasaya sürülmesiyle, artık Safari ile uzaktan hata ayıklama yapılabilir .
İOS için Chrome'un son sürümünde, Chrome iOS için uzaktan hata ayıklamayı nasıl etkinleştirdiğinizi merak ediyordum.
Güncelleme: iOS 6'nın piyasaya sürülmesiyle, artık Safari ile uzaktan hata ayıklama yapılabilir .
Yanıtlar:
Güncelleme:
Bu değil artık, lütfen aşağıdaki en iyi yanıt Gregers 'tavsiyesi.
Yeni cevap:
Weinre kullanın .
Eski cevap:
Artık uzaktan hata ayıklama için Safari'yi kullanabilirsiniz. Ancak iOS 6 gerektirir.
İşte http://html5-mobile.de/blog/ios6-remote-debugging-web-inspector hızlı bir çeviri
Simons'un işaret ettiği gibi , uzaktan hata ayıklamanın işe yaraması için özel göz atmayı kapatmanız gerekir.
Ayarlar> Safari> Özel Tarama> KAPALI
Seçilen cevap yalnızca Safari içindir. Şu anda iOS'ta Chrome'da gerçek uzaktan hata ayıklama yapmak mümkün değildir, ancak çoğu mobil tarayıcıda olduğu gibi bazı basit hata ayıklama için WeInRe'u kullanabilirsiniz . Kurulumu biraz iş, ancak DOM'u incelemenize, stil görmenize, DOM'u değiştirmenize ve konsolla oynamanıza izin verir.
Kurmak:
npm install -g weinre
weinre --boundHost -all-
Yer işareti, yüklenmesi biraz daha zordur. Hem masaüstü hem de mobil Chrome için yer işareti senkronizasyonunu etkinleştirdiyseniz en kolayı budur. Yer işareti URL'sini yerel weinre sunucusundan kopyalayın (yukarıdakiyle aynı). Maalesef düzgün şekilde url kodlu olmadığı için çalışmıyor. JavaScript konsolunu açın ve şunu yazın:
copy(encodeURI('')); // paste bookmarklet inside quotes
Artık panonuzda url ile kodlanmış yer işareti bulunmalıdır. Mobil Yer İşaretleri altında yeni bir yer işaretine yapıştırın . Weinre ya da yazması kolay bir şey olarak adlandırın. Cep telefonunuzla oldukça hızlı senkronize edilmelidir, bu yüzden incelemek istediğiniz sayfayı yükleyin. Ardından url çubuğuna yer işareti adını yazın; yer işaretini otomatik tamamlama önerisi olarak görmelisiniz. Yer işareti kodunu çalıştırmak için tıklayın :)
Ctrl-Shift-B
değilse araç çubuğunu görünür hale getirin).
npm install -g weinre
benim için çalışmıyordu. Bu yüzden sürümle çalıştırmak zorunda kaldım npm install -g weinre@2.0.0-pre-I0Z7U9OV
. En son sürümü buradan kontrol edin npmjs.com/package/weinre .
Şu anda iOS'ta Chrome'da doğrudan hata ayıklama yapamazsınız. Mobil Safari'den çok farklı davranabilen bir uiWebView kullanır.
Birkaç seçeneğiniz var.
Seçenek 1: Safari denetçisini kullanarak Mobil Safari'de uzaktan hata ayıklama yapın. Sorununuz Mobil Safari'de yeniden ortaya çıkıyorsa, bu kesinlikle en iyi yoldur. Aslında, iOS simülatöründen geçmek daha da kolay.
Seçenek 2: Zayıf bir hata ayıklama deneyimi için Weinre'i kullanın . Weinre'in pek fazla özelliği yok ama bazen yeterince iyi.
3. Seçenek: Uzaktan çalışan ve aynı şekilde çalışan uiWebView hatalarını ayıklayın.
İşte bunu yapmanın en iyi yolu. XCode'u kurmanız gerekir .
urlString
test etmek istediğiniz URL olarak değiştirin .Anladığım kadarıyla, Google Chrome, Android muadili gibi Chrome'un tam gelişmiş bir uygulaması yerine iOS'un UIWebView'ini kullanıyor.
Birçok uzak konsol iyi çalışıyor. http://farjs.com benim projem ve Crome iOS'a özgü sorunları başarıyla ayıklayabildim ve bunu kullanarak safaride gerçekleşmedim. (ve muhtemelen diğer tüm mobil tarayıcılar)
Sorun, Chrome yer imleri yüklemenize izin vermediğinden, hata ayıklama kodunu enjekte etmenin biraz zor olmasıdır.
Bunun yerine, sayfada hata ayıklayacağınız bir sekmeyi ve farjs.com'da başka bir sekmeyi açıp "yer işareti" ni tıklayabilirsiniz.
Yer işareti JS kodunu kopyalayın, hata ayıklanması gereken sayfa ile ilk sekmeye dönün ve yer işareti kodunu konum çubuğuna yapıştırın.
Son adım, konum çubuğunun başına gitmek ve Chrome'u kaldıracağından "javascript:" eklemektir.
Bunu denemedim, ancak iOS WebKit hata ayıklama proxy'si (ios_webkit_debug_proxy / iwdp) UIWebView'de uzaktan hata ayıklama yapmanızı sağlar. README.md dosyasından
İos_webkit_debug_proxy (aka iwdp) geliştiricilerin MobileSafari ve incelememizi sağlar UIWebViews üzerinde gerçek Uzaktan Chrome Geliştirme Araçları UI ve Chrome hata ayıklama Protokolü üzerinden ve simüle iOS cihazları. DevTools istekleri Apple'ın Uzak Web Denetçisi hizmet çağrılarına çevrilir.
Vorlon.JS , iOS veya başka herhangi bir istemcinin uzaktan hata ayıklaması için kullanılabilir.
npm i -g vorlon
vorlon
<script src="http://<yourExternalIP>:1337/vorlon.js"></script>
Bu yaklaşımın, nhostk kullanarak localhost üzerinde çalışmayan uygulamalarda hata ayıklamak için de kullanılabileceğini unutmayın . Ayrıntılar için bkz. Https://stackoverflow.com/a/45443203/2073920 .
feragat
Ben sadece bir kullanıcıyım ve Vorlon.JS ve ngrok ile ilişkili değilim
Ayrıca, 'Özel Tarama'nın KAPALI olması gerekir.
Ayarlar> Safari> Özel Tarama> KAPALI
Not: Ghostlab yaratıcıları Vanamco ile hiçbir ilişkim yok.
Chrome'a özgü sorunları ayıklamak benim için önemliydi, bu yüzden bana bu konuda yardımcı olabilecek bir şey bulmak için yola çıktım. Sonunda paramı Ghostlab 3'e fırlattım . Chrome ve Safari mobil tarayıcıları sanki masaüstümde görüntülüyormuşum gibi test edebilirim. Hata ayıklamak istediğim herhangi bir cihaz için kullanılacak bir LAN adresi veriyor. Bu adresi kullanan her uygulama Ghostlab'daki listede görünecektir.
Şiddetle tavsiye edilir.
Ben bile aynı özelliği arıyorum ve bugün itibariyle, henüz uygulanmadı. Ancak iki seçeneği düşünebilirim,
Chrome ve Safari'nin davranışlarının tamamen aynı olduğunu fark ettim; Chrome, Jiroskop'u ve Safari tarafından desteklenen diğer ilgili etkinlikleri bile destekler. Şu anda Safari'de hata ayıklama konsolunu etkinleştirerek Web Uygulamamda hata ayıklama yapıyorum (Ayarlar -> Safari ile)
Ayrıca uzaktan hata ayıklama / inceleme ve Senkronizasyona izin veren Adobe Shadow'u deneyin.
HTH.
Adobe Edge Inspect ( https://creative.adobe.com/products/inspect ), tüm mobil cihazlarınız IOS ve Android'de hata ayıklamanın başka bir yoludur (Windows Phone olmasa da). Uzaktan DOM denetimi / değişimi için weinre kullanır. En hızlı yöntem değil, ancak Windows'ta çalışıyor.
Chromium'da açık bir hata var: https://bugs.chromium.org/p/chromium/issues/detail?id=584905
Ne yazık ki onlar bunun olması için, WKView bir API açmak için bundan sonra Apple bağlıdır belki ayıklama Safari'den satışa sunulacak.
Safari Masaüstü iOS'u açın
Geliştir -> Duyarlı Tasarım Modu
Cihazın altındaki "Diğer" i tıklayın
Bunu yapıştırın: Mozilla / 5.0 (iPad; Mac OS X gibi CPU OS 10_2_1) AppleWebKit / 602.1.50 (Gecko gibi KHTML) CriOS / 56.0.2924.79 Mobile / 14D27 Safari / 602.1
Safari inceleme araçlarını kullanın.
Yasal Uyarı: BrowserStack'ta çalışıyorum. Bunu göndermeme izin verilip verilmediğini doğruladı [ Şirketin bir ürününün çalıştığını önerebilir miyim? )
İOS'ta Safari'de hata ayıklama (şu anda Chrome için değil, daha fazla ayrıntı için okumaya devam edin.)
Bu nasıl çalışır?
DevTools'u Gerçek Telefonlarla Kullanma
Fareyle öğelerin üzerine gelin, tıpkı masaüstü tarayıcı cihazlarının çalıştığı gibi HTML, CSS'yi düzenleyin.
DevTools kullanarak gerçek telefonda JavaScript çalıştırma
Console
Sekmeye geçin , JavaScript kodunu yürütün, console.log()
çıktıyı kontrol edin vb.
Ağ sekmesi, istek başlıklarını, yanıtı vb. Kontrol edin ...
BrowserStack'ta DevTools'u destekliyor musunuz?
DevTools şurada mevcuttur:
İstemci tarayıcısının Chrome veya Firefox olması gerekir. Bu, BrowserStack Real Device DevTools'u kullanmak için MacOSX veya Windows'ta Chrome veya Firefox tarayıcı kullanmanız gerektiği anlamına gelir.
Not: Tüm gerçek cihazlarda test etmek için bir plan satın almanız gerekir, ücretsiz bir kullanıcı olarak, birkaç Gerçek Android cihazı (tabletler dahil) ve birkaç Gerçek iOS cihazı (tabletler dahil) alırsınız. Ayrıca, Gerçek Cihazlar kelimesi üzerinde durulması emülatörler de sağladıkları için .
Bununla ilgili daha fazla ayrıntı için lütfen Mobil Özellikler sayfasındaki DevTools bölümüne bakın .