1.WebRTC的iOS框架的选择
目前两个比较活跃的开源WebRTC实现.
Google WebRTC:
项目地址是: https://code.google.com/p/webrtc/
Ericsson Research OpenWebRTC:
项目地址是: https://github.com/EricssonResearch/openwebrtc
我们戴维营教育为了给学生实战项目中应用WebRTC视频通话技术,选择Google的WebRTC项目来构建iOS App的开发框架,由于目前Chrome阅读器和FireFox阅读器的WebRTC支持都是采取该项目.那末问题就来了,既然阅读器里都支持了WebRTC,那我们再去移植编译它到iOS平台干吗呢,直接用webview 不行? 对,还不行! Apple在这方面已严重拖后腿了.不过他有他牛逼的Facetime技术,可以随时随地的视频通话,但是他不开源,所以我们只能垂涎了. 故还是老老实实的移植WebRTC吧.非常荣幸的是,Google 的Chromium项目开发者已实现了其WebRTC的Objective-C的1套API了.
不过,丑话还是说在前头好,要从零开始集成WebRTC到我们的App中中, 简直就是噩梦;由于WebRTC项目和Chromium项目有1定的关联依赖关系,而且这些项目都是跨平台的大项目,采取了Google自己的1套编译系统,相对我们平常的IDE来讲要复杂的多.如果我们需要得到1个WebRTC的库或框架,我们就需要忘记Xcode IDE和Interface Builder这些高科技,我们要切换到终端环境下用命令行下的黑科技来征服这1切.
2.开始WebRTC源码下载
条件条件:
我现在用的Macbook,8G内存,运行OS X 10.9.5.
安装最新的git和subversions并确保其可正常工作.
Xcode 6.1.1 和 Command Line Tools.
中国大陆用户额外要求,快速的VPN,或快速的shadowsocks服务.(翻墙和给git和svn和curl设置代理等).
2.1 创建1个编译目录
我们创建1个目录专门来寄存项目编译工具和项目代码仓库等.确保该目录所在磁盘可用空间最少有8~10G.打开系统的终端工具进入到Shell:
wuqiong:~ apple
2.2 下载Chromium的depot工具
在履行下面命令之前,请确保你已连上快速VPN已翻墙了,或你已给git单独配置了有效的socks翻墙代理,如果你这些都不是问题,就当我没说.
wuqiong:~ apple
wuqiong:webrtc_build apple$git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git
这是1套Google用来编译Chromium或WebRTC的构建工具,在我们后续的编译进程中也将使用它.为了命令行使用方便,我们把这些工具的路径加入到系统环境变量PATH中去:
wuqiong:webrtc_build apple
然后需要关闭当前终端重新开启1个来上面设置的环境变量生效.或在现在终端履行入门命令在当前终端里加载生效:
wuqiong:webrtc_build apple
2.3 下载WebRTC的源码
在我们的编译工作目录webrtc_build下创建1个webtrtc子目录来寄存代码,请履行下面命令:
wuqiong:webrtc_build apple
在上面的检查工作没错以后,我们就需要开始把WebRTC项目的代码仓库下载1份到本地来.由于其仓库之大,大约1共需要下载6G+的东西.所以这1步非常需要有耐心.而且需要有稳定无障碍的互联网. 履行以下命令然后吧:
wuqiong:webrtc apple$ gclient config