iOS 開發之使用safari對webview進行調試


轉自:http://www.tuicool.com/articles/ZBFnUbz

使用safari對webview進行調試

在web開發的過程中,抓包、調試頁面樣式、查看請求頭是很常用的技巧。其實在iOS開發中,這些技巧也能用(無論是模擬器還是真機),不過我們需要用到mac自帶的瀏覽器Safari。所以,本文將講解如何使用Safari對iOS程序中的webview進行調試。

正文:

1. 打開模擬器(真機)的開發者模式

【設置】->【Safari】->【高級】->【Web檢查器】打開

2. 打開Mac上Safari的開發者模式

【Safari】->【偏好設置】->【高級】->【在菜單欄中顯示“開發”菜單】勾選

3. 寫一個webview並加載一個網頁

#import "ViewController.h" @interfaceViewController () @property (strong, nonatomic) UIWebView *webView; @end @implementation ViewController - (void)viewDidLoad { [superviewDidLoad]; // Do any additional setup after loading the view, typically from a nib. _webView = [[UIWebViewalloc] initWithFrame:self.view.bounds]; [_webView loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:@"http://www.baidu.com"]]]; [self.view addSubview:_webView]; } @end 

4. 在模擬器(真機)中打開webview應用,並打開Safari查看網絡信息

【開發】->【iOS Simulator】->【正在調試的網站】

注意:必須要webview在加載網頁時,打開Safari才可以看到調試模式。

在彈出的調試窗口中,可以看到當前正在加載網頁的各種信息,包括源碼、請求頭、圖片、加載的資源與腳本、控制台輸出等。並且它和web前端的調試方式相同,你可以直接修改網頁的CSS樣式,對網頁布局等進行修改,而不用重新運行整個App。

5. 修改web樣式

將光標選中到要修改的樣式,進行修改后,可以直接在模擬器中看到修改后的效果。

當然,webview的調試技巧還有很多,比如 Charles 工具等。感興趣的小伙伴可以多研究下。

 

使用Chrome DevTool調試iOS設備的webView簡介(http://www.jianshu.com/p/19c18c924f91)

之前調試iOS設備的webView都只能使用Safari web inspector(可以google搜索safari ios debug)。但是Safari的inspector用起來實在沒有Chrome的DevTool順手。
今天從v2ex的這個帖子里看到了iOS WebKit Debug Proxy,終於解決了這個問題。

先放張使用效果圖


chrome_ios_debug.png

使用

iOS WebKit Debug Proxy的原理是在本地起了一個代理做WebInspector到WebKit遠程調試的協議轉發。安裝使用的過程很簡單,但是因為牆的存在所以要做一些設置以方便使用。本文只介紹在Mac OS X下的安裝設置。

安裝

  • 使用brew直接安裝

    brew install ios-webkit-debug-proxy

連接設備

  • 模擬器需要在使用proxy之前啟動
  • 真機只需要USB連接好即可

啟動proxy

  • 在terminal中執行

    ios_webkit_debug_proxy -f chrome-devtools://devtools/bundled/inspector.html

-f 參數直接指定使用chrome的devtools作前端。否則需要翻牆后才能調試設備。

在Chrome中打開頁面

  • 在chrome中打開 localhost:9221 ,可以看到當前已連接的設備列表。

    如果此時看不到模擬器,請檢查/etc/hosts文件是否有一行::1 localhost,以確保WebInspector監聽ipv4協議


設備列表
  • 點擊設備后可以打開新的設備頁面

    默認每個設備的端口號+1,9222/9223/...

  • 可能會見到提示說

    Note: Your browser may block1,2
    the above links with JavaScript console error:
    Not allowed to load local resource: chrome-devtools://...
    To open a link: right-click on the link (control-click on Mac), 'Copy Link Address', and paste it into address bar.

按提示復制右鍵復制鏈接地址在地址欄中打開就可以愉快的使用chrome的dev tool來調試webView啦。



文/xi_lin(簡書作者)
原文鏈接:http://www.jianshu.com/p/19c18c924f91
著作權歸作者所有,轉載請聯系作者獲得授權,並標注“簡書作者”。

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM