低延迟直播
  • 平台类型
  • 框架 / 引擎
  • iOS
  • Android
  • macOS
  • Windows
  • Linux
  • Web
  • 小程序

集成

更新时间:2021-04-25 20:25

1 准备环境

在开始集成 ZEGO Express SDK 前,请确保开发环境满足以下要求:

  • Xcode 5.0 或以上版本。
  • iOS 7.0 或以上版本且支持音视频的 iOS 设备或模拟器(推荐使用真机)。
  • iOS 设备已经连接到 Internet。

2 集成 SDK

2.1 (可选)新建项目

此步骤以如何创建新项目为例,如果是集成到已有项目,可忽略此步。
  1. 启动 Xcode,在 “Welcome to Xcode” 窗口中单击 “Create a new Xcode project” 或选择 “File > New > Project” 菜单。在出现的表单中,选择 iOS 平台,并在 “Application” 下选择 “App”。
  1. 填写表单并选取各个选项来配置项目,单击 “Next”。

必须提供 “Product Name” 和 “Organization Identifier”,用于创建在整个系统中标识 App 的 “Bundle Identifier”。

  1. 选择项目存储路径,单击 “Create” 创建项目。

2.2 导入 SDK

开发者可通过以下任意一种方式实现集成 SDK。

方式一: 使用 CocoaPods 自动集成

  1. 安装 CocoaPods,安装方法及常见问题请参考 CocoaPods 常见问题 - 安装 CocoaPods

  2. 打开终端,进入项目根目录,执行 pod init 命令创建 Podfile 文件。

  3. 打开 Podfile 文件,添加 pod 'ZegoExpressEngine/Video',需要将 “MyProject” 替换为开发者的 Target 名称。

    若需要使用包含白板功能的 SDK,则使用 pod 'ZegoExpressEngine/WhiteBoard'

1.11.0 版本开始,SDK 不再区分语言版本,使用过 pod 'ZegoExpressEngine/Video_zh' 的开发者在升级版本时,需要改为 pod 'ZegoExpressEngine/Video'

target 'MyProject' do
    use_frameworks!
    pod 'ZegoExpressEngine/Video'
end
  1. 执行 pod repo update 命令更新本地索引,确保能安装最新版本的 SDK,最新版本号请参考 下载 SDK 包 中的发布历史。

  2. 执行 pod install 命令安装 SDK。

方式二: 复制 SDK 文件手动集成

  1. 请参考 下载 SDK 包,下载最新版本的 SDK,推荐下载使用 XCFramework,下载完成后进行解压。

官网提供两种不同打包类型的 SDK,分为 XCFramework 和传统 Framework。

  1. XCFramework 内含 iOS + iOS(Simulator) + macOS 三个平台的 SDK,推荐使用。

  2. 传统 Framework 的下载压缩包中有两个文件夹:armv7-arm64 和 armv7-arm64-x86_64,二者区别如下:

  • armv7-arm64 仅用于真机调试。开发者在最终发布时,需要使用此文件下的 ZegoExpressEngine.framework,否则可能被苹果公司打回。

  • armv7-arm64-x86_64 包含了真机和模拟器调试的库。如果开发者在开发过程中使用模拟器调试,需要导入此文件夹下的 ZegoExpressEngine.framework。但是最终发布时,要切换回 armv7-arm64 文件夹下的 “ZegoExpressEngine.framework”。注意此库在 Xcode 12.3 版本后可能会遇到编译问题,请参考 常见问题 - 2

  1. 选择符合开发要求的 framework 文件,手动将 SDK 动态库文件 “ZegoExpressEngine.framework” 拷贝到开发者的项目目录下。

  2. 打开 Xcode,选择 “File > Add Files to "xxx"(xxx 为项目名)” 菜单,添加 SDK 库文件到项目。

  3. 选择 “TARGETS > General > Frameworks,Libraries,and Embedded Content” 菜单,添加 “ZegoExpressEngine.framework”,将 “Embed” 设置为 “Embed & Sign”。

    Dylibembed

3 设置权限

根据实际应用需要,设置应用所需权限。

  1. 在 Xcode 中,选择 “TARGETS > Info > Custom iOS Target Properties” 菜单。

    AddPrivacy

  2. 单击 “+” 添加按钮,添加摄像头和麦克风权限。

    • Privacy - Camera Usage Description

    • Privacy - Microphone Usage Description

      AddPrivacy Done

4 常见问题

  1. 打包时报错:“Failed to verify bitcode in ZegoExpressEngine.framework/ZegoExpressEngine” 如何处理?

    请检查 Xcode 版本是否过低,建议更新为最新的 Xcode 版本。

    若一定要使用旧版 Xcode 打包,请先在工程的 “Build Setting” 中找到 “Enable Bitcode” 选项并设为 “NO”,然后打开终端,cd DIRECTORY 到 “ZegoExpressEngine.framework” 所在目录 DIRECTORY,执行以下命令以去除 SDK 内的 bitcode。

    xcrun bitcode_strip ZegoExpressEngine.framework/ZegoExpressEngine -r -o ZegoExpressEngine.framework/ZegoExpressEngine
  2. 运行 App 时提示:“Building for iOS Simulator, but the linked and embedded framework 'ZegoExpressEngine.framework' was built for iOS + iOS Simulator.” 如何处理?

    在 Xcode 12.3 版本以后,默认禁止使用带 iOS + iOS(Simulator)双平台架构的 Framework,建议替换为 Apple 推荐使用的 XCFramework(可在 下载 SDK 包 中下拉框中选择下载 XCFramework)。或者也可以通过 Xcode 选择 “TARGETS > Build Settings > Validate Workspace”,设置该参数的值为 “YES” 来继续使用传统 Framework。