准备工作:下载doubango、idoubs源码
mkdir mydoubs
cd mydoubs
Git clone https://github.com/DoubangoTelecom/doubango.git doubango
git clone https://github.com/DoubangoTelecom/idoubs.git idoubs
构建demo应用
1.创建一个文件夹MyPropertyManage(自己随便命名) 在MyPropertyManage的文件夹下要有两个平级文件夹
因为在idoubs里面的路径被写好啦(下面会说到),在MyPropertyManage文件夹里拖入doubango框架,
另外一个文件夹命名你开心就好(此处写了idoubs),这个文件夹是用来装你的工程的!

2.从源码idoubs里面将iOS-ngn-stack整个文件以及common-ngn-stack这个文件夹拖入自己的工程文件下,
这里面包含着doubango的整个工程,所以这个文件夹很重要
3.在idoubs文件夹下将自己刚刚建好的Demo工程(此处命名ios-idoubs)拖入,与ios-ngn-stack平级,
平级很重要,关乎工程内路径引入的问题!!
现在目录结构大概是这样的

4.打开自己的工程demo 将ios-ngn-stack添加为项目引用
或者:关闭XCode打开的其他项目,只保留当前的demo项目。 将ios-ngn-stack.xcodeproj从finder中拖放到demo项目内。

5.添加链接库
在demo项目的Build Phases中,在Link Binary With Libraries里添加各种需要的内容。

libios_ngn_stack.a
libtinyBFCP.a
libtinySAK.a
libtinyNET.a
libtinySDP.a
libtinyRTP.a
libtinyIPSec.a
libtinyMSRP.a
libtinyHTTP.a
libtinyMEDIA.a
libtinySIGCOMP.a
libtinySMS.a
libtinyXCAP.a
libtinySIP.a
libtinyDAV.a
libtinyWRAP.a
QuartzCore.framework
OpenGLES.framework
Security.framework
CFNetwork.framework
AudioToolbox.framework
AddressBook.framework
CoreGraphics.framework
AVFoundation.framework
CoreMedia.framework
CoreVideo.framework
SystemConfiguration.framework
AddressBook.framework
libsqlite3.tbd
libresolv.tbd
6.配置Build Settings
①User-Defined

DOUBANGO_HOME ../../doubango DOUBANGO_LIBS $DOUBANGO_HOME/thirdparties/iphone/lib/universal NGN_STACK_HOME $DOUBANGO_HOME/thirdparties/iphone/lib/universal PREBINDING NO
②Linking/Other Linker Flags

-lsrtp -lssl -lcrypto -lyuv -lvpx -lx264 -lopenh264 -lswscale -lavutil -lavcodec -lopus -lgsm -lg729b -lspeex -lspeexdsp -framework Foundation -framework UIKit
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
③Search Paths/Header Search Paths

$NGN_STACK_HOME/common-ngn-stack $NGN_STACK_HOME/ios-ngn-stack $DOUBANGO_HOME/bindings/_common $DOUBANGO_HOME/tinySMS/include $DOUBANGO_HOME/tinyHTTP/include $DOUBANGO_HOME/tinySIP/include $DOUBANGO/HOME/tinyMSRP/include $DOUBANGO_HOME/tinyMEDIA/include $DOUBANGO_HOME/tinyNET/src $DOUBANGO_HOME/tinySAK/src $DOUBANGO_HOME/tinyDAV/include $DOUBANGO_HOME/thirdparties/common/include ../common-ngn-stack ../ios-ngn-stack
④Search Paths/Library Search Paths

$(inherited) $DOUBANGO_LIBS
⑤Apple LLVM 7.1 - Custom Compiler Flags / Other C Flags

-DNS_BLOCK_ASSERTIONS=1
⑥Build Settings / Apple LLVM 7.1 - Language 下的Compile Sources As为Objective-C++

⑦加入头文件
在ViewController.h中,加入头文件
import “iOSNgnStack.h”
此外注意点:
当你们创建的控制器只要用到ios-ngn-stack里面的东西的话,控制器的后缀一定要改成.mm好吗 让它们混编好吗 宝宝们
因为如果你不这么做的话 编译会变成这样的错误:

最后,谢谢我的同事陈老师!
补充:
有网上的朋友配置的时候出现这样的问题:
问题1:
解决:
这个问题出现在没按配置把doubango放在最外层 详细看第一步骤
问题2:

解决:
这个问题就是没有配置Linking/Other Linker Flags 详细翻到上面寻找。
posted on 2016-11-04 23:35
聂文龙 阅读(602)
评论(0) 编辑 收藏 引用