Low-Latency Live Streaming
  • Platform
  • Framework / Engine
  • iOS
  • Android
  • macOS
  • Windows
  • Linux
  • Web
  • WeChat Mini Program

Integrate the SDK

Update Time:2021-06-10 14:38

1 Set up the development environment

Before integrating the ZEGO Express SDK, make sure the development environment meets the following requirements:

  • Xcode 5.0 or later
  • An iOS device or iOS Simulator that is running on iOS 7.0 or later and supports audio and video. We recommend you use a real device.
  • The iOS device is connected to the internet.

2 Integrate the SDK

2.1 Optional: Create a new project

If you are integrating the SDK to an existing project, skip this step.
  1. Open Xcode, and in the Welcome to Xcode window, click Create a new Xcode project or select File > New > Project. In the dialog that appears, select the iOS tab, then select App in the Application section.
  1. Fill in items or choose options for the new project, click Next after configuration is completed.

Product Name and Organization Identifier are required, which will be used for creating the App UID - Bundle Identifier.

  1. Choose a particular directory to restore the project to be created, and click Create to create a project.

2.2 Import the SDK

Choose either of the following methods to integrate the ZEGO Express SDK into your project.

Method 1: Integrate the SDK automatically with CocoaPods

  1. Install CocoaPods. For more details, see CocoaPods Installation Guide .

  2. Open a Terminal window, enter the root directory of the project, and execute the command pod init to create a Podfile.

  3. Open Podfile, add pod 'ZegoExpressEngine/Video', and change MyProject to your target name. If the SDK with WhiteBoard feature is needed, execute the command: pod 'ZegoExpressEngine/WhiteBoard'

We no longer provide SDKs for different languages since version 1.11.0. If you currently use pod 'ZegoExpressEngine/Video_zh, change it to pod 'ZegoExpressEngine/Video'when you upgrade to the new version.

 target 'MyProject' do
   pod 'ZegoExpressEngine/Video'
  1. Execute pod repo update to update the local index to make sure the latest version of SDK can be installed. For the latest version number, see ZEGO Express-Video iOS SDK Release History .

  2. Execute pod install to install the SDK.

    For common problems you may encounter when using CocoaPods, see CocoaPods FAQ .

Method 2: Manually add the SDK to the project

  1. Download the latest version of SDK from SDK Downloads . We recommend you use XCFramework, and then extract files from the downloaded SDK package.

Zego's website provides two different packaging types of SDK, XCFramework and traditional Framework.

  1. The downloaded XCFramework package contains SDKs for iOS + iOS (Simulator) + macOS, which is recommended.

  2. There are two folders in the downloaded package of the traditional Framework: armv7-arm64 and armv7-arm64-x86_64. The differences are as follows:

    a. armv7-arm64 is only used for debugging on real devices. You need to use the ZegoExpressEngine.framework under this folder in the final release; otherwise, they may be called back by Apple.

    b. armv7-arm64-x86_64 contains libraries for debugging on real devices and simulators. If you use the simulator to debug during the development process, you need to import the ZegoExpressEngine.framework under this folder. But when comes to the final release, switch back to the framework under the armv7-arm64 folder. Note: This library may encounter compilation issues after Xcode 12.3. For more information, see FAQ-2 in chapter 4.

  1. Select a framework package file that meets the development requirements and copy the SDK dynamic library file ZegoExpressEngine.framework to the project directory.

  2. Open Xcode and select File > Add Files to "xxx" (xxx is the project name) to add the SDK dynamic library files to the project.

  1. Do the following to add the framework file to the project target. a) Select the project target. b) Click General, then under Frameworks, Libraries, and Embedded Content, click the Add button (+) below the table. c) Add ZegoExpressEngine.framework to the target, and set the Embed field to Embed & Sign.

3 Add permissions

Permissions can be set as needed.

  1. Open Xcode, select the target object, and then click Info > Custom iOS Target Properties.


  1. Click the Add button (+) to add camera and microphone permissions.
  • Privacy-Camera Usage Description

  • Privacy-Microphone Usage Description

AddPrivacy Done


  1. The error occurs when packaging the app: Failed to verify bitcode in ZegoExpressEngine.framework/ZegoExpressEngine.

    a. Check whether the Xcode version is too low. We recommend updating the latest Xcode version.
    b. If you have to use the old version of Xcode for packaging, find the Enable Bitcode option in the project's Build Setting and set it to NO, and open the terminal to execute cd DIRECTORY to go to the directory where ZegoExpressEngine.framework is stored in your project, and then execute the following command to remove the bitcode in the SDK:

    xcrun bitcode_strip ZegoExpressEngine.framework/ZegoExpressEngine -r -o ZegoExpressEngine.framework/ZegoExpressEngine
  2. The message shows when running the App: Building for iOS Simulator, but the linked and embedded framework'ZegoExpressEngine.framework' was built for iOS + iOS Simulator.

    In Xcode 12.3 or later, the framework with iOS + iOS (Simulator) dual-platform architecture is prohibited by default. We recommend downloading with XCFramework recommended by Apple (you can choose to download XCFramework in the drop-down box in SDK Downloads ).
    Or you can select the project target, and then click Build Settings > Validate Workspace in Xcode and set the parameter to YES to continue using the traditional framework.