集成iOS端播放器SDK

本文提供快速集成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或模拟器的包,请参考以下命令生成并下载。

cd $(SDK_PATH) //SDK_PATH:SDK所在路径
sh createMoreKindsOfArch.sh

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集成)(推荐)

  1. 采用pod语句集成播放器SDK,示例代码如下:

    说明

    如需同时集成播放器SDK和短视频SDK,将下面代码中的AliPlayerSDK_iOS替换成AliPlayerPartSDK_iOSAliPlayerPartSDK_iOS不包含ffmpeg,可以避免与短视频SDK中的ffmpeg冲突。

    ruby
     platform:ios, '8.0'
     target 'yourProject' do
     pod 'AliPlayerSDK_iOS'
     end
  2. 可选:如果需要支持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版本正确。

  1. 在Xcode工程中,单击General页签。

  2. 将SDK的framework添加到Frameworks,Libraries,and Embedded Content中,并将Embed设置为Embed & Sign

    本地集成.png

  3. 单击Build Settings页签。

  4. 单击Search Paths区域下的Framework Search Paths,修改为本地framework所在的目录。

配置License

说明
  • V5.4.7.1及之后版本的iOS端播放器SDK必须按以下操作配置License后,方可使用。

  • 播放器SDK现免费提供,License有效期为1年,1年后若无特殊约定我们将为您免费自动续期。

  • License配置完成后,查看日志若无License相关报错,则表示License配置成功。

  • 配置的License文件和LicenseKey和创建License时提交的应用信息(BundleID)有严格的对应关系,请确保License文件和LicenseKey和创建时的信息保持一致,否则会出现鉴权失败的情况。

  1. 在Xcode工程里,通过Build Phases > Copy Bundle Resources,将获取到的证书文件AliVideoCert-********.crt拷贝到Xcode的项目中,建议放到AppSupportFiles目录下,也可以放到沙箱或者其他路径。

  2. 在Info.plist文件中添加如下字段。

    ios-license.png

    • 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引用,但由此可能造成第三方播放器无法正常使用等的问题请您知悉。

更多关于播放器使用过程中出现的问题及解决方案,请参见iOS端

功能使用文档