系列教程:javascript
最近有一款应用很火,叫Housparty
,Housparty是一款视频群聊应用,最近它在App Store上的下载排名已经超过了Facebook。同时,有媒体称Houseparty已经完成了最新一轮的投资。本身就想着模仿一个玩玩,研究了下,发现有个叫Agora
的能够实现部分的功能,就想试用下。声网Agora.io
是一家提供稳定,高可用,有质量保障的实时视频通话
和实时全互动直播技术
服务的平台,支持全平台,只须要简单集成SKD,便可让应用实现高清视频通话,和多主播实时全互动直播。
既然已经有了SDK,就不须要本身写视频以及通讯部分的代码了,这样写一个Housparty
的demo就更简单了,下面以iOS平台为例,看下如何集成Agora SDK
。java
本文使用的环境以下:c++
先要注册agora.io
,注册完成以后再新建一个项目,须要拿到对应的App ID
。后面的示例代码须要使用该App ID
。
最新的Agora SDK
中有两个文件夹:git
须要的环境准备好以后,新建一个agora
项目,就能够开始配置和集成Agora SDK
。github
先把Agora SDK中./libs
复制到agora项目中的agora目录下。再把Agora SDK添加到项目的Libraries
中。
添加Libraries
的方法:swift
Add Other ...
从项目目录中选中
./libs
添加里面的内容到
Libraries
中。这样就添加了
Agora SDK
。
Agora SDK
以后,还须要添加
Agora SDK
所依赖的库,参考官网上面demo使用的
libraries
,添加如下类库:
build
的时候出现错误:ide
Showing All Messages
"_res_9_getservers", referenced from:
agora::commons::network::get_dns_list(bool) in AgoraRtcEngineKit(libmediasdk.a-arm64-master.o)
"_res_9_ninit", referenced from:
agora::commons::network::get_dns_list(bool) in AgoraRtcEngineKit(libmediasdk.a-arm64-master.o)
"_res_9_ndestroy", referenced from:
agora::commons::network::get_dns_list(bool) in AgoraRtcEngineKit(libmediasdk.a-arm64-master.o)
ld: symbol(s) not found for architecture arm64
clang: error: linker command failed with exit code 1 (use -v to see invocation)复制代码
运行官网的demo也出现了一样的错误,说明类库没有导入完整,还须要导入类库是libresolv.9.tbd
。
类库依赖问题比较容易出现,另外一方面也说明没有支持Pod
的麻烦,建议Agora
能尽快支持CocoaPods
。
再次build
又出现了个问题:post
ld: library not found for -lcrypto复制代码
问题的缘由是:编译时找不到须要的连接库致使的,解决方法:ui
"${PROJECT_DIR}/agora/libs"
Agora SDK
并不支持
bitcode,所以须要把bitcode禁止掉,禁止bitcode的方法:
这样就配置完成了Agora SDK
的支持,下面就能够开始使用Agora SDK
了。spa
Agora SDK
使用的是Object-c
开发的,而咱们的项目使用的是Swift
开发的,所以就须要在Swift
中访问OC的类库
,新建一个文件命名为agora-Bridging-Header.h
,在该文件中引入Agora SDK
:
#import <AgoraRtcEngineKit/AgoraRtcEngineKit.h>
#import <AgoraRtcCryptoLoader/AgoraRtcCryptoLoader.h>复制代码
而后把该文件设置为Objective-C Bridging Header
,设置方法:
Swift
中使用
Agora SDK
了。
Agora SDK
以前还要知道,
Agora SDK
实现的是一套高清视频通话或直播系统,除了完成集成
Agora SDK
的工做以外,还须要给项目对应的访问权限。
须要给项目两个权限才能使用Agora SDK
,这两个权限是:
在info.plist
添加这两个权限:
Privacy - Camera Usage Description
设置为:use camera to start video call
Privacy - Microphone Usage Description
设置为use microphone to start video call
这样完成了Agora SDK
的项目配置,后面将继续写如何使用Agora SDK
,包含的功能: