编译运行WebKit Demo(Mac调试版本)

文章目录

参考:WebKit官方Wiki

前言

由于WebKit内核不仅提供给iOS的WebView使用,Mac中同样会使用到,甚至有需要可以移植到Win下开发基于WebKit的浏览器。本文章仅分析在Mac下编译适用于Mac使用的WebKit内核,并调试基于Webkit的浏览器(MiniBrowser)

编译WebKit前,准备以下东西
  1. 源码
    可以到GitHub checkout相关的源码,或者在官方wiki中点击下载。
  2. 开发环境
    2.1 Xcode
    这个只要到AppStone下载即可,基本要求是6.1.1以上
    2.2 Xcode Command Line
    这个一般按安装了Xcode自动就会安装了
    2.3 Java for Mac OS X Developer Package
    可以到这个网址https://developer.apple.com/downloads.进行下载
开始编译
  1. 在Terminal中运行build-webkit脚本,路径为:(WebKit Root Path)/Tools/Scripts/build-webkit,并加上“–debug”参数。
    编译过程有时会出现错误(Build Error),一般是由于编译使用的sdk版本过高,部分函数、语法不支持导致。若遇到这些错误,可以到出现这些错误的源码进行修复。
    (我编译的时候出现两个错误:1. 关于参数的有个关键字声明错误,好像是_nulldata的关键字,解决方法是直接删除这个关键字;2.block参数不能为空的错误,将nil改为一个空block即可)
  2. 当完成Terminal编译之后,需要再运行脚本set-webkit-configuration,路径为:(WebKit Root Path)/Tools/Scripts/set-webkit-configuration,并加上“–debug”参数完成后,即可进行Xcode环境下的调试,首先打开webkit的工程文件,路径为:(WebKit Root Path)/WebKit.xcworkspace
    里面的工程如下图

    5550

    webkit的工程目录

    最下面3个测试模块暂时忽略,其他模块为组成WebKit的主要模块,其中WebKit与WebKit2分别对应iOS里面的UIWebView与WKWebView的内核,其区别在于单线程与多线程工作(WebKit2并不是WKWebView的内核全部源码,Apple并没有全部开源WKWebView的代码)。我们重点放在MiniBrowser这个工程,实际上WebKit这个源码自带一个迷你的浏览器,方便开发人员进行调试,所以我们要编译并运行、调试这个工程。

    2240

    修改schemes
    3340

    增加MiniBrowser_1
    1240

    增加MiniBrowser_2

    通过修改schemes,增加MiniBrowser的调试目标。

    124

    Paste_Image.png

    在编译开始之前,还有一些步骤要完成。
    点击Xcode顶部工具栏File>WorkSpace Setting

    4440

    Paste_Image.png

    设置导出数据位置参数为WorkSpace-relative(绝对路径下)

    6660

    Paste_Image.png

    然后点击advanced,设置Location为Custom,并且选择RelativeToWorkspace,修改Products、Intermeditates值为WebKitBuild

    8880

    Paste_Image.png
    7770

    Paste_Image.png

    可以开始编译le。Enjoy it~

 

原文链接:,转发请注明来源!

发表评论