前言
最近对 WebRTC iOS 端源码进行了下载和编译,网上针对 WebRTC iOS 端的编译文章基本都是几年前的,有些地方已经不适用于最新版的 WebRTC 的编译,简单记录下载&编译的过程,以 M93 版本为例。
编译环境
硬件:MacBook Pro (Retina, 15-inch, Mid 2015)
系统:macOS Big Sur 11.5
安装 depot_tools
depot_tools 是一套 Google 用来编译 Chromium 或者 WebRTC 的构建工具,获取 depot_tools 源码前,需开启 VPN 服务。
$ mkdir webrtc
$ git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git
如果出现如下错误,首先检查 VPN 是否连接成功,其次配置 macOS 终端代理
配置终端代理
在开启的 VPN 客户端偏好设置中配置信息如下:
注意:配置终端代理只对当前终端有用,重启后需要重新配置
$ export http_proxy=http://127.0.0.1:10887
$ export https_proxy=http://127.0.0.1:10887
$ export all_proxy=http://127.0.0.1:10887
配置环境变量
$ echo "export PATH=$PWD/depot_tools:$PATH" > $HOME/.bash_profile
$ source $HOME/.bash_profile
检查是否配置成功
$ echo $PATH
安装 ninja
ninja 是 WebRTC 的编译工具。
$ git clone git://github.com/martine/ninja.git
$ cd ninja/
$ ./bootstrap.py
复制到系统目录(也可配置坏境变量)
$ sudo cp ninja /usr/local/bin/
$ sudo chmod a+rx /usr/local/bin/ninja
下载 WebRTC 源码
设置要编译的平台到环境变量
$ export GYP_DEFINES="OS=ios"
下载源码
$ fetch --nohooks webrtc_ios
指定分支(以 M93版本为例)
$ gclient sync -r 25e3fd53a79bfdb2bd647ee3a199eb9c3a71d271
分支版本可以在Release Notes中查找,目前最新的