美文网首页MacOS开发 技术集锦
【技巧】编译运行WebKit Demo(Mac调试版本)

【技巧】编译运行WebKit Demo(Mac调试版本)

作者: 狂暴火鸡 | 来源:发表于2015-09-10 18:49 被阅读1965次

    参考: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
    里面的工程如下图

    webkit的工程目录

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

    修改schemes 增加MiniBrowser_1 增加MiniBrowser_2

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

    Paste_Image.png

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

    Paste_Image.png

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


    Paste_Image.png

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


    Paste_Image.png Paste_Image.png

    可以开始编译le。Enjoy it~

    相关文章

      网友评论

        本文标题:【技巧】编译运行WebKit Demo(Mac调试版本)

        本文链接:https://www.haomeiwen.com/subject/nvxpcttx.html