Xcode編譯WebKit


下載WebKit源碼

1)進入https://webkit.org/

2)點擊頁面的 Get Started 進入新頁面,如下圖所示

 3)點擊 Getting the code 進入新頁面,如下圖所示

  4)在源碼下載頁面,有多種下載方式,包括直接下載代碼zip包,通過SVN下載,通過Git下載。這里選擇使用Git的方式進行下載,在控制台運行下面的命令。下載量有點大,約6G左右,耐心等待即可,下載完成會生成一個WebKit目錄。

 

Xcode編譯

1)Embedded Builds

下載的WebKit目錄里面有一個Tools/Scripts目錄,這里面有各種腳本,包括使用命令行編譯WebKit的腳本build-webkit,但是使用Xcode編譯的時候用不着它。另一個重要的腳本就是configure-xcode-for-embedded-development,在控制台運行如下命令:

sudo Tools/Scripts/configure-xcode-for-embedded-development

 之所以需要這個腳本,是因為iOS屬於嵌入式平台,編譯給iOS嵌入式平台的WebKit需要一些命令行工具,上面的腳本就是讓Xcode能夠構建這些命令行工具的。否則,在編譯諸如JavaScriptCore的時候,就會報如下錯誤:‘com.apple.product-type.tool’, but there’s no such product type for the embedded platform。

需要注意的是,運行完上面腳本之后,最好重啟一下Xcode。

2)更改Xcode配置

WebKit源碼下載完成之后,用Xcode打開里面的WebKit.xcworkspace。默認情況下,WebKit.xcworkspace里面的各個工程都是macos配置,需要進行更改, 左邊紅框就是需要更改的工程,右邊紅框是更改后的配置。

 3)設置構建產物存儲位置

選擇Xcode的File菜單->Workspace Settings...打開Workspace設置窗口:

 選擇Advanced...按鈕,打開如下窗口,按紅框所示進行配置:

 4)編譯

 選中 All Source選項,選擇一個模擬器,然后點擊Xcode的構建按鈕開始構建。剩下的就是耐心等待,等待激動人心的 Build Success 提示(可能編譯完成后有一個關於MiniBrowser工程的彈窗,直接關閉即可,不影響編譯)。

 

創建調試工程

編譯好WebKit之后,我們的目的當然是進行調試,以便用來學習WebKit的源碼。那么,如何才能讓我們新建的工程里面,使用自己編譯的WebKit.framework,而不是系統自帶的呢?

1)用Xcode新建一個新的Project,示例里面是TestWKWebView,並將這個Project添加到WebKit.xcworkspace。

 2)設置TestWKWebView的scheme

如下圖所示,點擊Edit Scheme,打開設置窗口

 在Edit設置窗口選擇 Arguments選項,在 Environment Variables里面添加一項,Name:DYLD_FRAMEWORK_PATH Value:Path_To_WebKit/DerivedData/WebKitBuild/Debug-iphonesimulator,這里的Path_To_WebKit就是WebKit目錄所在路徑。一個方便的方法是,在Xcode的WebKit工程打開Product目錄,找到WebKit.framework然后Show in Finder,將包含WebKit.framework的目錄復制下來即可。

 做好上面的設置之后,就可以編寫測試程序,然后打上斷點,看是否能夠成功斷在WebKit的源碼里面, 如果你能夠成功進入斷點,那么恭喜你,你已經能夠調試WebKit源碼了。

 

 

 

 參考鏈接

https://webkit.org/building-webkit/


免責聲明!

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



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