下載WebKit源碼
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源碼了。
參考鏈接