因为项目的视频对讲采用的是linphone框架,之前的linphone版本有点老,去官网看了下8月25号发布了新版本的Linphone iOS 3.13.9 release,全面支持的IPv6,不多说果断git下来。
1、最新版linphone源码下载
直接用命令:git clone git://git.linphone.org/linphone-iphone.git --recursive
linphone比较大,下载需要一点时间
2、下载完成后的编译sdk
跟以前旧版本的编译还是有不少区别的,解压缩后打开源码的中readme文件,按照步骤进行
核心步骤:
1. Install[HomeBrew, a package manager for OS X](http://brew.sh) (MacPorts is supported but deprecated).
2. Install Linphone dependencies: open iTerm.app in the current directory and list dependencies to install using:
`./prepare.py`
3. Reorder your path so that brew tools are used instead of Apple's ones which are obsolete:
`export PATH=/usr/local/bin:$PATH`
4. Build SDK (see below for options and explanations):
`./prepare.py -c && ./prepare.py && make`
For instance to generate the liblinphone multi-arch SDK in GPL mode, simply invoke:
./prepare.py[options]&& make
**The resulting SDK is located in`liblinphone-sdk/`root directory.**
第一步:安装homebrew环境
这个相信大部分都有,如果没有那么输入命令行进行下载:/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
第二步:添加依赖
`./prepare.py`
第三步:重置homebrew工具的路径
`export PATH=/usr/local/bin:$PATH`
第四步:make SDK
直接终端:./prepare.py -c && ./prepare.py && make进行编译
在编译中我遇到了几个问题
问题1.GNU assembler not found, install/update gas-preprocessor
解决方法:安装或者更新gas-preprocessor,在github上搜索gas-preprocessor,找到最新的一分下载,将其中的gas-preprocessor.pl保存到/usr/local/bin中
问题2.也是一段英文提示,大体意思是说cmake的版本太低了,需要升级cmake的版本
直接使用brew进行升级:brew upgrade cmake,注意使用这条命令需要将homebrew也升级到最新版本(brew update),在更新之前可以先输入brew outdated进行查看brew工具中哪些安装的程序可以更新
3、编译成功
编译成功后可以打开项目,用xcode8打开,然后跑一下看看还有没有问题,我的是正常
编译好的sdk在项目目录的linphone-sdk下
sdk的使用和集成:该添的静态库添加,该添加的search paths也添加,可以参照linphone的源码(如果sdk没有编译成功,那么直接运行linphone的源码会出现很多错误,因为许多头文件和静态库文件都不齐全,必须编译后才能够运行linphone的源码)
老版本的linphone是需要将bitCode置为no的,新版本对这个无要求