BUILT FOR IOS

iOS
Chat UI Kit

Add native messaging screens with Tencent RTC’s iOS Chat UI Kit. Start with conversations, messages, and contacts, then adapt the experience to your app.

DEVELOPER RESOURCES

iOS Chat UI Kit Docs & Examples

A more personal service

Keep guest questions and reservation conversations together inside your app.

Share the details

Bring photos and documents into the conversation when people need more context.

IOS CHAT CAPABILITIES

The essentials, ready to connect

Conversation lists

  • Recent conversations
  • Unread message indicators

Messaging UI

  • Connected message views
  • An integrated composer

Media sharing

  • Photos and attachments
  • Native media permissions

People and groups

  • Direct conversations
  • Group interactions

Make it yours

  • Adapt the UI source
  • Fit your navigation

Connected components

  • Chat SDK underneath
  • Your application identity

Explore the iOS Chat Components

See how the components fit together.

Conversations

Start with the conversation list

Open the connected list and route a selection into your chat screen.

Read the Documentation
Conversations.swift
import TUIChatKit
import AtomicXCore

let page = ConversationsPage(onConversationClick: { info in
    // Navigate to ChatPage with info.conversation.
})
navigationController?.pushViewController(page, animated: true)

CUSTOMIZATION

Customize Your iOS Chat UI

Bring your visual style and application flow into chat.

A natural part of your app

Work with the native UI source to bring your visual style into chat.

Read the Documentation

GET STARTED

Your first conversation starts here

  1. 01

    Create your app

    Set up a Chat application and your test users.

    Open Chat Console
  2. 02

    Add the iOS Chat UI Kit

    Follow the platform guide to connect your project.

    Follow the Integration Guide
  3. 03

    Connect your users

    Sign in two test users and send your first message.

    Connect Your Users
iOS Chat UI Kit
Podfile
# After adding the repository's chat source to your project
pod 'TUIChatKit', :path => 'chat/uikit/TUIChatKit.podspec'
Conversations.swift
import TUIChatKit
import AtomicXCore

let page = ConversationsPage(onConversationClick: { info in
    // Navigate to ChatPage with info.conversation.
})
navigationController?.pushViewController(page, animated: true)

iOS Chat UI Kit FAQs

Which iOS UI Kit does this page use?

The current full-integration guide uses TUIChatKit, AtomicXCore, and Swift page components. Older guides show TUILogin and Minimalist controllers. Follow the full guide linked here consistently instead of mixing the two integrations.

How is the iOS UI Kit different from the SDK?

The UI Kit adds connected interface components on top of the messaging SDK. Use the Core SDK when you want to build the entire interface yourself.

How do I authenticate users of the iOS Chat UI Kit?

Generate production UserSig on your backend. Pass it to the client for authentication and keep your application secret on the server.

Are these iOS snippets a complete application?

They show individual integration steps. Follow the full guide for imports, initialization, login, error handling, and target-specific configuration. Test messaging with separate accounts before release.

How is iOS Chat UI Kit usage priced?

Hosted Chat service usage follows your selected plan. Check the included features and allowances for your application; optional plugins and Call services can have separate requirements.

How do I integrate iOS Chat UI Kit with Swift or Objective-C?

Integrate the documented package in your Xcode project and handle app lifecycle transitions. Test on an iPhone with the permissions and capabilities used by your chosen features.

How do I test iOS Chat UI Kit before releasing my app?

Check login, SDK readiness, send and receive events, and message state after reconnecting.

How do I customize the interface for iOS Chat UI Kit?

Pass ChatMessageInputConfig into ChatPage to configure the native composer. For a text-focused support screen, set isShowVideoCall and isShowAudioCall to false. Provide ConversationInfo with its conversationID and type, and connect onBack to your navigation controller. Hiding call actions changes the interface; it does not provision or remove a Call service subscription. Use the TUIChatKit APIs shown in the iOS guide.

Find support for your next step

Talk about your application

Discuss your product, expected usage, and integration needs.

Contact Sales

Build your next conversation

Build your app with the iOS Chat UI Kit.