编译 webRTC for iOS
2016-09-04 本文已影响857人
gpr
- 本人今天完成 webRTC 在 mac 平台下 编译, 写下总结为避免以后走弯路.
编译环境: mac 10.11.14, xcode 7.3.1 webRTC 最新源码 2016.09.04
由于工程比较庞大, 以后上传到网盘再给各位分享.
1. 获取webRTC源码
友情提醒: 自备一个速度快一点的 vpn, 至少16g的硬盘空间
官方文档
- 获取 depot_tools
下载完毕之后给电脑配置环境变量
$vim ~/.base_profile
$export PATH=depot_tools目录:PATH
2. 获取 webRTC 源码
参考官方步骤
$mkdir webRTC
$cd webRTC
$fetch --nohooks webrtc_ios
$gclient sync
// 注意这里需要相当长的时间, 请耐心等待
2.1 更新 webRTC 源码
// 更新源码 cd src
$git fetch
$git pull
// 更新编译工具
$cd ..
$gclinet sync
3. 编译webRTC
注意 python 版本号必须大于 2.7, 这里记录我编译过程中遇到的困难
- 编译, 请参考 官方编译脚本
- 编译前,请检查 gclient 的配置
// 这是我的配置
solutions = [
{
"managed": False,
"name": "src",
"url": "https://chromium.googlesource.com/external/webrtc.git",
"custom_deps": {},
"deps_file": "DEPS",
"safesync_url": "",
},
]
// 这个地方一定要写对
target_os = ["ios", "mac"]
1号坑: gyp: third_party/class-dump/class-dump.gyp not found
原因是编译前需要生成一些工具所需要的二进制文件
解决:
$cd src
$./setup_links.py
2号坑: Multiple codesigning fingerprints for identity
原因没指定 xcode 证书签名
解决:
//1. 找出你所需要的证书签名
$security find-identity
// 2. 修改编译配置, 找到'CODE_SIGN_IDENTITY[sdk=iphoneos*] 写上对应的签名
$vim ./chromium/src/build/common.gypi