本文为您介绍iOS短视频SDK的pod集成和手动配置操作。
前提条件
开发前的环境要求如下表所示。
类别 | 说明 |
系统版本 | 支持iOS 9.0及以上版本。 |
macOS High Sierra版本 | 支持macOS High Sierra 10.13及以上版本。 |
Xcode版本 | 支持Xcode 9.0及以上版本,下载Xcode。 |
pod方式集成(推荐)
在Podfile文件中添加依赖。
重要如果使用短视频SDK 3.24.0及以上版本,请务必使用FFmpeg 4.3.0及以上版本。
请确保网络环境可以访问更新pod仓库,并在pod install安装完成后检查framework版本号是否和官网最新版一致。
使用最少依赖集成方式集成短视频SDK时,如果需要上传媒资文件到视频点播,请集成上传SDK上传,具体内容请参见上传SDK。
默认集成(默认集成方式,包含资源包和上传SDK)
# 默认的集成方式,除短视频SDK外,还会集成资源包和上传SDK。 pod 'AliyunVideoSDKPro', '~> 6.15.0'
最少依赖集成(不包含资源包和上传SDK)
# 仅集成短视频SDK,不会集成资源包和上传SDK pod 'AliyunVideoSDKPro/min', '~> 6.15.0'
说明如需使用拍摄模块的人脸贴纸功能,则必须引入资源包(AliyunVideoSDKPro.bundle),引入方式请参见设置资源包引入路径。
更新pod repo。
pod repo update
安装pod。
pod install
手动方式集成(不推荐)
库和资源依赖说明
手动方式集成不提供上传库,如果需要上传媒资文件到视频点播,请集成上传SDK上传,具体内容请参见上传SDK。
需要手动下载集成相应版本的以下库和bundle资源包。
库名 | 描述 | 下载地址 |
AliyunVideoSDKPro.framework | 动态库 | |
AliyunVideoSDKPro.bundle | 资源包(非必须) 说明 当需要使用拍摄模块的人脸贴纸功能时,则必须引入该资源包。 | |
alivcffmpeg | 动态库 |
操作步骤
手动方式集成较为繁琐,并且提交到App Store时需要剥离模拟器版本(x86架构)的动态库,否则会被拒绝。因此推荐使用pod方式集成。剥离模拟器动态库的方式有如下两种:
使用命令行工具lipo剥离模拟器架构的framework。
通过pod方式集成,pod会在打包时自动剥离掉模拟器架构的framework。
编译报错时,请修改
,修改为Objective-C++。
添加动态库。
单击General,选择Frameworks, Libraries, and Embedded Content。单击+,然后单击Add Other…,导入上述动态库(例如AliyunVideoSDKPro.framework、alivcffmpeg.framework)。导入之后请选择Embed &Sign。
添加其他库依赖。
单击General,选择Frameworks, Libraries, and Embedded Content。单击+,分别添加MobileCoreServices.framework、SystemConfiguration.framework和libresolv.tbd依赖。
可选:将AliyunVideoSDKPro.bundle依赖导入到工程。
单击Build Phases,选择Copy Bundle Resources,单击+,然后单击Add Other…,导入AliyunVideoSDKPro.bundle。
配置项目
SDK集成后,打开项目工程并修改以下配置:
配置 ,添加-ObjC。
打开工程info.Plist,添加以下权限:
Privacy - Camera Usage Description Privacy - Microphone Usage Description Privacy - Photo Library Usage Description
配置License
获取到License后,需要按以下操作配置License文件。License的获取及详细信息请参见获取短视频SDK License。
把下载的License文件导入到App工程中,在Info.plist文件中添加两个key,第一个key为AlivcLicenseKey,value为LicenseKey的值;第二个key为AlivcLicenseFile,value为内置证书文件(相对于mainBundle)的路径。示例如下所示:
key | value |
AlivcLicenseKey | LicenseKey的值。取值示例:MoCTfuQ391Z01mNqG8f8745e23c8a457a8ff8d5faedc1**** |
AlivcLicenseFile | 内置证书文件(相对于mainBundle)的路径。 |