SDK集成

更新时间:
复制 MD 格式

通过阅读本文,您可以快速了解如何集成iOS端推流SDK。

集成环境

名称

要求

系统版本

支持iOS 8.0及以上版本。

机器型号

支持iPhone 7及以上。

CPU架构支持

ARMv7、ARM64。

集成工具

Xcode 8.0及以上版本。

bitcode

关闭。

推流SDK下载

说明

每个版本均包含armarm&simulator两套SDK,arm仅支持真机调试。arm&simulator支持真机+模拟器调试。项目在release上线的时候必须使用arm版本。

SDK下载下载对应版本的iOS端推流SDK,推流SDK基础版包含在解压包的AlivcLivePusher文件夹中。

SDK 目录 AlivcLivePusherSDK 下的 arm 文件夹包含以下 framework:

  • AlivcLibReplayKitExt.framework

  • AlivcLivePusher.framework

文件内容区别如下:

文件名称

文件说明

AlivcLivePusherSDK/arm

推流SDK基础版,纯arm版本。

AlivcLivePusherSDK/arm&simulator

推流SDK基础版,arm+模拟器版本。

推流SDK集成

通过手动或Pod方式集成推流SDK后,您还需要添加请求权限、关闭Bitcode,以及查看具体使用说明。

如果您选择手动集成推流SDK,请参考操作步骤中手动集成方法;如果选择Pod集成推流SDK,请参考操作步骤中Pod集成方法。

  1. 手动集成:

    1. 新建SDK测试工程,App > DemoPush

    2. 分别将以下文件拖入您的Xcode工程中:

      • AlivcLibReplayKitExt.framework

      • AlivcLivePusher.framework

      如需使用美颜和贴纸特效,还需拖入以下文件:

      • queen.framework

      • openvc2.framework

      • MNN.framework

      • AliyunQueenUIKit.framework

      如需依赖阿里云播放器SDK的版本,还需拖入以下文件:

      • RtsSDK.framework

      • AliyunPlayer.framework

      • artcSource.framework

      • alivcffmpeg.framework

      在 Xcode 项目 General > Frameworks, Libraries, and Embedded Content 中,按以下嵌入方式配置各依赖框架:

      • Embed & Signalivcffmpeg.frameworkAlivcLibReplayKitExt.frameworkAlivcLibRtmp.frameworkAlivcLivePusher.frameworkAliyunPlayer.frameworkartcSource.frameworkopencv2.framework

      • Embed Without SigningAlivcLiveBroadcast.appex

      • Do Not EmbedAccelerate.frameworkCoreGraphics.frameworkCoreImage.frameworkCoreMedia.frameworkCoreMotion.frameworkCoreVideo.frameworkFace3D.frameworkFaceDetection.frameworkFoundation.frameworkMetal.frameworkMNN.frameworkOpenGLES.frameworkpixelai.frameworkQuartzCore.frameworkqueen.framework

    3. 勾选Copy items if needed,并单击Finish

    4. 成功导入SDK后,在Xcode > General > Frameworks, Libraries, and Embedded Content中添加SDK依赖。在 Frameworks, Libraries, and Embedded Content 中,将 alivcffmpeg.frameworkAlivcLibRtmp.frameworkAlivcLivePusher.frameworkAliyunPlayer.frameworkartcSource.frameworkRtsSDK.frameworkopencv2.framework 等第三方框架的嵌入方式设置为 Embed & Sign,系统框架(如 Accelerate、CoreGraphics、CoreMedia 等)保持 Do Not EmbedAlivcLiveBroadcast.appex 设置为 Embed Without Signing

  2. Pod集成:

    1. 在终端窗口中输入以下命令,安装CocoaPods。

      重要

      请提前在Mac中安装Ruby环境。

      sudo gem install cocoapods
    2. 进入项目所在路径,在终端窗口中输入以下命令,创建Podfile文件。

      pod init
    3. 编辑Podfile文件,添加直播SDK依赖。如需直播播放,可以添加阿里云播放器SDK依赖。

      #基础版推流SDK
      pod 'AlivcLivePusher', '~> x.y.z'
      说明
      • x.y.z 表示推流 SDK 的版本号。您可以在 SDK下载 中查看最新版本号,并将其替换为实际值(例如 7.4.0)。

      • 推流SDK暂不支持与播放器SDK(AliyunPlayer)同时集成,若是需要同时集成推流SDK和播放器SDK,您可以选择音视频终端一体化SDK。具体信息可参见音视频终端一体化SDK使用场景说明一体化SDK集成

    4. 在终端窗口中输入以下命令。pod命令执行完成后,会生成集成了的SDK的.xcworkspace后缀的工程文件,双击打开即可更新并安装SDK。

      pod install

      或者

      pod update
  3. 添加请求权限。

    说明

    请务必添加录音权限和相机权限。

    Info.plist文件中添加摄像头和麦克风权限Privacy - Camera Usage DescriptionPrivacy - Microphone Usage Description,并填写对应的权限用途描述。如果需要 App 在后台继续推流,需要在 Xcode 项目的 Capabilities 标签页中将 Background Modes 开关设为 ON,并在展开的 Modes 列表中勾选 Audio, AirPlay, and Picture in Picture

  4. 关闭Bitcode。

    由于SDK不支持Bitcode,所以需要在工程中关闭Bitcode选项。在 Xcode 项目的 Build Settings 中搜索 bitcode,将 Build Options 下的 Enable Bitcode 设置为 No

  5. 配置License。

    操作指引,请参见License集成指南

使用说明

常见问题

编译报错

当您收到Building for iOS, but the linked and embedded framework XXX.framework' was built for iOS + iOS Simulator编译报错时,请参见如下操作:

  1. 单击Xcode菜单。

  2. 选择File > Workspace Settings进入对话框设置。

  3. 选择将build System更改为Legacy build system即可。

当编译缺少Queen的依赖库时

手动集成的情况下,出现Queen缺少依赖库的情况时,可以参见Queen_SDK_iOS文档添加对应的依赖库。