随笔 - 298  文章 - 377  trackbacks - 0
<2018年1月>
31123456
78910111213
14151617181920
21222324252627
28293031123
45678910

常用链接

留言簿(34)

随笔分类

随笔档案

文章档案

相册

收藏夹

搜索

  •  

最新评论

阅读排行榜

评论排行榜

准备工作:下载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 
User-Defined

DOUBANGO_HOME       ../../doubango DOUBANGO_LIBS       $DOUBANGO_HOME/thirdparties/iphone/lib/universal NGN_STACK_HOME      $DOUBANGO_HOME/thirdparties/iphone/lib/universal PREBINDING          NO
  • 1
  • 2
  • 3
  • 4
  • 1
  • 2
  • 3
  • 4

②Linking/Other Linker Flags 
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 
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
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13

④Search Paths/Library Search Paths 
Search Paths/Library Search Paths

 $(inherited)   $DOUBANGO_LIBS
  • 1
  • 2
  • 1
  • 2

⑤Apple LLVM 7.1 - Custom Compiler Flags / Other C Flags 
Apple LLVM 7.1 - Custom Compiler Flags / Other C Flags

 -DNS_BLOCK_ASSERTIONS=1
  • 1
  • 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: 
问题2

解决: 
这个问题就是没有配置Linking/Other Linker Flags 详细翻到上面寻找。

posted on 2016-11-04 23:35 聂文龙 阅读(576) 评论(0)  编辑 收藏 引用

只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理