本文主要介绍如何快速地将腾讯云视立方·直播 LiteAVSDK(iOS)集成到您的项目中,按照如下步骤进行配置,就可以完成 SDK 的集成工作。下面以全功能的 Live版 SDK 为例: 开发环境要求
Xcode 9.0+。
iOS 9.0 以上的 iPhone 或者 iPad 真机。
项目已配置有效的开发者签名。
集成 LiteAVSDK
您可以选择使用 CocoaPods 自动加载的方式,或者先下载 SDK,再将其导入到您当前的工程项目中。
CocoaPods
1. 安装 CocoaPods
在终端窗口中输入如下命令(需要提前在 Mac 中安装 Ruby 环境):
sudo gem install cocoapods
2. 创建 Podfile 文件
进入项目所在路径,输入以下命令行之后项目路径下会出现一个 Podfile 文件。
3. 编辑 Podfile 文件
编辑 Podfile 文件,有如下有两种设置方式:
方式一:使用腾讯云 LiteAVSDK 的 podspec 文件路径。
platform :ios, '9.0'
target 'App' do
pod 'TXLiteAVSDK_Live', :podspec => 'https://liteav.sdk.qcloud.com/pod/liteavsdkspec/TXLiteAVSDK_Live.podspec'
end
方式二:使用 CocoaPod 官方源,支持选择版本号。
platform :ios, '9.0'
source 'https://github.com/CocoaPods/Specs.git'
target 'App' do
pod 'TXLiteAVSDK_Live'
end
4. 更新并安装 SDK
在终端窗口中输入如下命令以更新本地库文件,并安装 LiteAVSDK:
或使用以下命令更新本地库版本:
pod 命令执行完后,会生成集成了 SDK 的.xcworkspace
后缀的工程文件,双击打开即可。
手动集成
2. 打开您的 Xcode 工程项目,选择要运行的 target , 选中Build Phases项。
3. 单击 Link Binary with Libraries 项展开,单击底下的 + 添加依赖库。
4. 依次添加所下载的TXLiteAVSDK_Live.framework
、TXFFmpeg.xcframework
、TXSoundTouch.xcframework
及其所需依赖库:
AVFoundation.framework
VideoToolbox.framework
libz.tbd
OpenGLES.framework
Accelerate.framework
libsqlite3.0.tbd
MetalKit.framework
CoreTelephony.framework
libresolv.tbd
GLKit.framework
Foundation.framework
SystemConfiguration.framework
AssetsLibrary.framework
libc++.tbd
CoreServices.framework
CoreMedia.framework
5. 选中 Build Settings 项,搜索 Other Linker Flags
。添加 -ObjC
。
授权摄像头和麦克风使用权限
使用 SDK 的音视频功能,需要授权麦克风和摄像头的使用权限。在 App 的 Info.plist 中添加以下两项,分别对应麦克风和摄像头在系统弹出授权对话框时的提示信息。
Privacy - Microphone Usage Description,并填入麦克风使用目的提示语。
Privacy - Camera Usage Description,并填入摄像头使用目的提示语。
在工程中引入 SDK
项目代码中使用 SDK 有两种方式:
方式一: 在项目需要使用 SDK API 的文件里,添加模块引用。
@import TXLiteAVSDK_Live;
方式二:在项目需要使用 SDK API 的文件里,引入具体的头文件。
#import "TXLiteAVSDK_Live/TXLiteAVSDK.h"
给 SDK 配置 License 授权
1. 单击 License 申请 获取测试用 License,您会获得两个字符串:一个字符串是 licenseURL,另一个字符串是解密 key。 2. 在您的 App 调用 LiteAVSDK 的相关功能之前(建议在 - [AppDelegate application:didFinishLaunchingWithOptions:]
中)进行如下设置:
@import TXLiteAVSDK_Live;
@implementation AppDelegate
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
NSString * const licenceURL = @"<获取到的licenseUrl>";
NSString * const licenceKey = @"<获取到的key>";
[V2TXLivePremier setEnvironment:@"GDPR"];
[V2TXLivePremier setLicence:licenceURL key:licenceKey];
[V2TXLivePremier setObserver:self];
NSLog(@"SDK Version = %@", [V2TXLivePremier getSDKVersionStr]);
}
@end
常见问题
1. LiteAVSDK 是否支持后台运行?
1. 选中当前工程项目,选择 Signing&Capabilities ,单击左上角+,如图所示:
2. 选择 Background Modes。
3. 在 Background Modes 中勾选 Audio,AirPlay and Picture in Picture ,如下图所示:
2. 项目里面同时集成了直播 SDK/实时音视频/播放器等 LiteAVSDK 系列的多个 SDK 报符号冲突问题怎么解决?
如果集成了2个或以上产品(直播、播放器、TRTC、短视频)的 LiteAVSDK 版本,编译时会出现库冲突问题,因为有些 SDK 底层库有相同符号文件,这里建议只集成一个全功能版 SDK 可以解决,直播、播放器、TRTC、短视频这些都包含在一个 SDK 里面。具体请参见 SDK 下载。
本页内容是否解决了您的问题?