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.
Ships as an .xcframework with dSYMs. Add manually, via CocoaPods, or via Swift Package Manager (SPM). See the Installation guide for steps.
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
- Mute/unmute audio and video
- Switch camera (front/rear)
- Switch audio device
- Group and private text chat
- File sharing with all participants or privately
- View and configure participant list
- Switch video layout (grid / list)
- Raise hand / request floor access (Lecture/Webinar mode)
- Annotation on shared screens
- Screen sharing (via ReplayKit broadcast extension)
- Canvas streaming
- Audio-only call mode
- Disconnect call
Moderators Only
- Record session
- Hard mute room audio
- Mute individual participant audio or video
- Drop participant from room
- Grant or deny floor access requests
- Switch participant role
- Start/stop RTMP live streaming
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.
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
)
| Parameter | Type | Description |
|---|---|---|
gradientLayer1 | UIColor | Top colour of the background gradient. |
gradientLayer2 | UIColor | Bottom colour of the background gradient. |
nameTextColor | UIColor | Colour of the remote participant's display name. |
sortNameTextColor | UIColor | Colour of the initials text inside the avatar circle. |
sortNameBGColor | UIColor | Background colour of the avatar/initials circle. |
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.