一. 下载安装depot_tools工具
cd /usr/local/
git clone https://webrtc.bj2.agoralab.co/webrtc-mirror/depot_tools.git
chmod +x /usr/local/depot_tools/cipd
echo 'export PATH=$PATH:/usr/local/depot_tools' >> ~/.bash_profile
source ~/.bash_profile
二. 同步WebRTC代码
创建一个存放 WebRTC 代码的目录,进入该目录后创建 .gclient 文件并添加如下内容。
solutions = [
{ "name" : "src",
"url" : "https://webrtc.bj2.agoralab.co/webrtc-mirror/src.git@65e8d9facab05de13634d777702b2c93288f8849",
"deps_file" : "DEPS",
"managed" : False,
"safesync_url": "",
"custom_deps": {
},
},
]
target_os = ["ios"]
执行 gclient sync 开始同步代码(这个过程耗时很长,请耐心等待)。
三. 下载安装Xcode
在苹果开发者中心下载 Xcode,尽量不要选择太高的版本,否则编译可能会出现因 sdk 版本兼容问题的报错,如果你还没有安装 Xcode 可以选择下载安装 Xcode11.4.1,如果你已安装 Xcode 也可以尝试直接使用该版本进入编译环节(编译不报错的话仍然用该版本就行),安装完成后执行如下命令。
sudo xcode-select -s /Applications/Xcode.app/Contents/Developer
四. 编译WebRTC代码
进入 WebRTC 代码 src 目录,执行如下命令。
gn gen out/Release "--args=is_debug=false"
ninja -C out/Release
说明
1. gn gen 命令用来生成编译文件,相当于 cmake,执行 gn clean out/Release 清理编译文件,gn args out/Release --list 可以查看所有编译参数,也可以通过 gn args out/Release --list=编译参数 查看具体编译参数信息。
2. ninja 用来执行编译文件,相当于 make 的动作。
3. out/Release 目录可以自己指定,编译完成后可以在目录下看到许多可执行文件。