Host Live Streaming(iOS)

UILiveKit Voice Chat Room is a ready-to-use interface providing all the core functionalities for starting a live stream. It enables you to integrate a host broadcasting flow into your app with simple steps.

Feature Overview

Pre-Live Preview: Allows hosts to configure personalized settings such as room name and cover image before going live.
Seat Management: Supports seat management operations including taking a seat, leaving a seat, muting, and locking seats.
Audience Interaction: Enables interactive features such as live chat (bullet comments), virtual gifts, and likes.
Live Room Management: Displays the online user list and provides moderation controls such as muting or removing users from the live room.
Pre-Live Preview
Seat Management
Audience Interaction
Live Room Management













Quick Integration

Integrate the Component

Follow the Preparation guide to integrate TUILiveKit.

Create and Present the Voice Room View Controller

The TUIVoiceRoomViewController component provides a complete host-side UI and business logic for the voice room scenario. To enable hosts to start a live session, simply create and present this view controller. We recommend triggering the following logic in your app’s "Start Live" button click handler:
import TUILiveKit
import UIKit

// YourViewController represents the view controller from which you start the live session
class YourViewController: UIViewController {

// Handle the "Start Live" button click event
@objc func onStartVoiceRoomClicked() {

// 1. Configure room parameters (RoomParams)
var params = RoomParams()
params.maxSeatCount = 10 // Maximum number of seats
params.seatMode = .applyToTake // Seat mode

// 2. Instantiate the voice room controller
let roomId = "test_voice_room_id"
let voiceRoomVC = TUIVoiceRoomViewController(roomId: roomId, behavior: .prepareCreate, roomParams: params)
voiceRoomVC.modalPresentationStyle = .fullScreen

// 3. Present the voice room page
present(voiceRoomVC, animated: true)
}
}
TUIVoiceRoomViewController Parameter Reference:
Parameter
Type
Description
roomId
string
Globally unique ID for the live room.

behavior

RoomBehavior
Room entry behavior:
- autoCreate: Automatically create and enter the live room.
- prepareCreate: Enter the pre-live preview page first, then create and enter the live room after the user clicks "Start Live".
- join: Audience joins the room.

roomParams

RoomParams?
Parameters for the host to start the live session. See the table below for details.
RoomParams Parameter Reference:
Parameter
Type
Description
maxSeatCount
Int
Maximum number of seats in the live room.
seatMode
TUISeatMode
Audience seat mode:
- applyToTake: Audience must apply and be approved by the host to take a seat.
- freeToTake: Audience can take a seat freely without host approval.

Customize UI

TUILiveKit provides flexible UI customization to meet a variety of business requirements. You can select different layout templates and easily update UI text and icons.

Live Layout Template Selection

TUILiveKit Voice Room offers two layout styles. Select your preferred style using the "Layout" option on the host's pre-live preview page:


Layout Overview:


Chat Room
KTV
Description
Default layout; displays only the seat grid.
Displays a KTV song player above the seat grid.
Preview







Text Customization (Localization)

TUILiveKit uses the Apple Strings Catalog(.xcstrings) format, introduced in Xcode 15, to manage the text displayed in the UI. You can modify the string resources using Xcode's graphical interface:
Note:
Apple Strings Catalog (.xcstrings) is a localization format introduced in Xcode 15. It enhances how developers manage localized strings, supporting a structured format to handle plurals, device-specific variants, etc. This format is becoming the recommended way to manage localization for iOS and macOS applications.


Icon Customization (Image Assets)

TUILiveKit uses TUILiveKit.xcassets to manage the image resources for the UI. You can quickly modify the custom icons using Xcode's graphical tools.


Next Steps

You have now successfully integrated host live streaming. Next, implement features such as audience viewing and live stream list. See the table below for details:
Feature
Description
Integration Guide
Audience Viewing
Enables users to join as audience members, listen to the host, take seats, and view live chat (bullet comments).
Live Stream List
Displays a list of live rooms and their details.

FAQs

No sound after going live?

Go to your device's Settings > App > Microphone and ensure that microphone permissions are enabled.


Unable to go live when clicking the start button, with a "Not Logged In" prompt?

See Complete Login to ensure login functionality is properly integrated.