本文提供快速集成iOS播放器SDK的指引。
环境要求
类别 | 说明 |
系统版本 | 支持iOS 8.0及以上版本。 |
开发工具 | 建议使用Xcode,本文操作步骤基于Xcode开发。下载地址:Xcode。 |
前提条件
已注册并获取包含播放器授权的License文件
AliVideoCert-********.crt
。具体操作,请参见获取License。本地集成SDK时,需要先下载iOS播放器SDK包(包含了iOS播放器SDK及Demo源码)。推荐下载使用最新版本,下载地址请参见播放器SDK。
解压后的目录结构如下:
文件名 | 作用 |
demo | iOS播放器SDK的Demo源码。 |
doc | iOS播放器SDK接口文档。 |
sdk | iOS播放器SDK的framework库,只提供了包含bitcode和模拟器的ARM_SIMULATOR文件夹,如果需要不包含bitcode或模拟器的包,请参考以下命令生成并下载。
|
ReleaseNote | 版本说明。 |
执行sh createMoreKindsOfArch.sh
命令后,生成的各文件说明如下:
文件名 | 说明 |
ARM | 包含bitcode,不包含模拟器。 |
ARM_NO_BITCODE | 不包含bitcode,不包含模拟器。 |
ARM_SIMULATOR | 包含bitcode,包含模拟器。 |
Framework说明如下:
Framework | 说明 |
alivcffmpeg.framework | 播放器底层,必须。 |
AliyunMediaDownloader.framework | 用于离线下载,非必须。 |
AliyunPlayer.framework | 播放器,必须。 |
artcSource.framework | 支持artc协议,非必须。 |
artpSource.framework | 支持artp协议,非必须。在5.4.5.0版本已经移除了对它的依赖。 |
RtsSDK.framework | 超低延时直播,非必须。 |
AlivcConan | 在5.3.0版本已经移除了对它的依赖。 |
注意事项
在进行打包时,dSYM文件用于crash符号表解析。
使用iOS播放器SDK时,AlivcFFmpeg和AliyunPlayer都是必需的,缺一不可。播放器头文件位于AliyunPlayer。
如需同时集成播放器SDK和短视频SDK,则需要关注短视频SDK、播放器SDK及AlivcFFmpeg的版本依赖关系,否则会导致短视频或播放器的功能使用失败,详细信息,请参见AlivcFFmpeg版本依赖。
iOS播放器SDK在模拟器上调试不能保证所有功能的正常运行,建议iOS播放器SDK集成完成后使用真机进行运行调试。
iOS播放器SDK提供的安装包中包含了模拟器,模拟器可用于代码调试,发布时,不能包含模拟器,否则会提交AppStore失败。
SDK集成(cocoapods集成)(推荐)
采用pod语句集成播放器SDK,示例代码如下:
说明如需同时集成播放器SDK和短视频SDK,将下面代码中的
AliPlayerSDK_iOS
替换成AliPlayerPartSDK_iOS
,AliPlayerPartSDK_iOS
不包含ffmpeg,可以避免与短视频SDK中的ffmpeg冲突。ruby platform:ios, '8.0' target 'yourProject' do pod 'AliPlayerSDK_iOS' end
可选:如果需要支持artc协议或播放超低延时直播(RTS)流,请添加以下pod依赖,示例代码如下:
说明请确保引入的播放器SDK版本号填写正确,否则将报错并引入失败。
ruby platform:ios, '8.0' target 'yourProject' do pod 'AliPlayerSDK_iOS', '5.4.7.1' pod 'AliPlayerSDK_iOS_ARTC', '5.4.7.1' pod 'RtsSDK', '2.2.0' //此处版本仅供参考,获取最新RTS SDK的版本请参见超低延时直播SDK下载。 end
SDK集成(本地集成)
如需同时集成播放器SDK和短视频SDK,则只需要引入一个AlivcFFmpeg即可,并请保证引入的AlivcFFmpeg版本正确。
在Xcode工程中,单击General页签。
将SDK的framework添加到Frameworks,Libraries,and Embedded Content中,并将Embed设置为Embed & Sign。
单击Build Settings页签。
单击Search Paths区域下的Framework Search Paths,修改为本地framework所在的目录。
配置License
V5.4.7.1及之后版本的iOS播放器SDK必须按以下操作配置License后,方可使用。
播放器SDK现免费提供,License有效期为1年,1年后若无特殊约定我们将为您免费自动续期。届时,播放器SDK会更新本地证书,建议您在App发布版本的时候集成新的本地证书。新的证书可登录点播控制台获取,详情参见管理License。
License配置完成后,查看日志若无License相关报错,则表示License配置成功。
配置的License文件和LicenseKey和创建License时提交的应用信息(BundleID)有严格的对应关系,请确保License文件和LicenseKey和创建时的信息保持一致,否则会出现鉴权失败的情况。
在Xcode工程里,通过
,将获取到的证书文件AliVideoCert-********.crt
拷贝到Xcode的项目中,建议放到AppSupportFiles目录下,也可以放到沙箱或者其他路径。在Info.plist文件中添加如下字段。
key为
AlivcLicenseKey
,value为LicenseKey的值。key为
AlivcLicenseFile
,value为步骤二中证书文件的放置路径,请根据实际情况填写。
<key>AlivcLicenseKey</key> <string>Wo8s*******************</string> <key>AlivcLicenseFile</key> <string>license.crt</string>
常见集成问题
您的代码或引用的第三方代码,在集成时报与AlivcFFmpeg或AlivcConan的symbol有冲突
解决方案如下:
报与AlivcConan的symbol有冲突:因为AlivcConan从5.3.0版本开始不再需要依赖,您可以将AlivcConan从Linked Frameworks and Libraries里删除,app link可以不依赖AlivcConan。
报与AlivcFFmpeg的symbol有冲突:您需要删除多余的AlivcFFmpeg,仅保留一个AlivcFFmpeg即可。由于AlivcFFmpeg是对ffmpeg的拓展和定制,是阿里云播放器SDK实现的关键,因此,建议您删除第三方的AlivcFFmpeg,保留阿里云iOS播放器SDK的AlivcFFmpeg引用,但由此可能造成第三方播放器无法正常使用等的问题请您知悉。
更多关于播放器使用过程中出现的问题及解决方案,请参见播放器问题。