之前我还以为WebRTC有很多实现,结果最终大家用的都是chromium里的代码。
什么代码只要是掺在chromium里,那构建必然是两个字,蓝瘦。
webrtc其实官方有标准的ios构建流程
核心就是
- 没有
depot_tools
先装depot_tools - 拉代码
fetch --nohooks webrtc_ios && gclient sync
。注意好流量。 - 构建,其实文档比较阴险,我们一般用的
WebRTC.framework
在最下面。直接python build_ios_libs.py --bitcode就可以打包全架构的framework了,目前不包含armv7s
和arm64e
不过也够用了
PS: 其实还有一个核心问题就是用什么版本的源码编译,总不能使用master的版本编译吧。
chromium的项目不像一般的项目用tag管理发布版本,而是用branch管理的。
具体可以看这个页面。
这里记录了每个chromium对应其组件的版本。比如现在最新的chromium是80,那我就git checkout branch-heads/3987 && gclient sync
然后再打包,这样就可以使用最新的稳定版本了。