iOS UI Kit

The iOS UI Kit enables you to integrate a complete, production-ready video call interface into your iPhone or iPad native app with just a few lines of Swift or Objective-C. The kit is 100% native, handles auto-orientation, and reduces development time by 99% compared to building from scratch with the raw iOS SDK. The framework ships as an .xcframework with dSYMs for easy debugging.

iOS UI Kit v2.2.3  ·  Released May 22, 2026

Ships as an .xcframework with dSYMs. Add manually, via CocoaPods, or via Swift Package Manager (SPM). See the Installation guide for steps.

⬇  Download iOS UI Kit
Features

The kit ships with a rich set of controls available to all participants. Moderators get an additional set of room-management capabilities.

Participants and Moderators

Moderators Only

Audio View Mode — 1-to-1 Audio Calls

v2.2.3 introduces an improved UI for 1-to-1 audio-only calls. When a participant joins without video, the kit renders a purpose-built calling screen showing the remote participant's name and avatar over a gradient background, with overlay buttons for microphone toggle and exit. This replaces the generic video grid with an experience designed specifically for voice calls.

Call these APIs before the call starts

Both isAudioViewMode and audioViewConfig must be set before the EnableX session connects. Changes made after the session starts have no effect.

Enable the Audio View Overlay

Set isAudioViewMode to true on the EnxSetting shared instance to activate the audio call UI with overlay mic-toggle and exit controls:

EnxSetting.shared.isAudioViewMode = true

Customise the Audio View Appearance

Assign an EnxAudioViewConfig instance to audioViewConfig on the shared settings object to define the visual appearance of the calling screen. All colour parameters accept standard UIColor values:

EnxSetting.shared.audioViewConfig = EnxAudioViewConfig(
    gradientLayer1: UIColor(red: 0.04, green: 0.22, blue: 0.20, alpha: 1),   // top gradient colour
    gradientLayer2: UIColor(red: 0.01, green: 0.08, blue: 0.07, alpha: 1),   // bottom gradient colour
    nameTextColor: .white,                                                     // remote participant name
    sortNameTextColor: .white,                                                 // initials text colour
    sortNameBGColor: UIColor(red: 0.07, green: 0.55, blue: 0.44, alpha: 1)   // initials avatar background
)
ParameterTypeDescription
gradientLayer1UIColorTop colour of the background gradient.
gradientLayer2UIColorBottom colour of the background gradient.
nameTextColorUIColorColour of the remote participant's display name.
sortNameTextColorUIColorColour of the initials text inside the avatar circle.
sortNameBGColorUIColorBackground colour of the avatar/initials circle.
Get Started

Use the pages below to set up, integrate, and customize the iOS UI Kit in your app. Follow the order from left to right for a first-time integration.