English | 简体中文
TUIKit_iOS is a powerful UI component library built on top of Tencent Cloud's AtomicXCore SDK. AtomicXCore integrates the core capabilities of Tencent Cloud Real-Time Communication (TRTC), Instant Messaging (IM), Audio/Video Calling (TUICallEngine), and Room Management (TUIRoomEngine), providing a state-driven API design.
TUIKit_iOS provides a set of pre-built user interfaces (UI) on top of the core capabilities offered by AtomicXCore, enabling you to quickly integrate video live streaming, voice chat rooms, audio/video calling, and other features into your iOS applications without worrying about complex backend logic and state management.
TUIKit_iOS provides complete UI implementations for the following core business scenarios based on AtomicXCore:
Video/Voice Live Streaming:
Audio/Video Calling:
Instant Messaging (Chat):
git clone https://github.com/Tencent-RTC/TUIKit_iOS.git
TUIKit_iOS depends on AtomicXCore, which in turn depends on RTCRoomEngine. You need to use CocoaPods to install these dependencies.
cd TUIKit_iOS/application
pod install
Open the generated .xcworkspace file with Xcode, configure your Tencent Cloud SDKAppID, UserID, and UserSig (usually configured in the GenerateTestUserSig file), then compile and run.
The architecture design of TUIKit_iOS follows layered principles:
TUIKit_iOS (UI Layer):
Store in AtomicXCore to get state and update UI.Store methods in AtomicXCore to respond to user operations.AtomicXCore (Core Layer):
LiveListStore, CallListStore, ConversationListStore) responsible for managing business logic and state.LiveCoreView, ParticipantView) provide UI-less view containers that drive video rendering.RTCRoomEngine, TUICallEngine, and IMSDK, providing unified APIs.Tencent Cloud SDK (Engine Layer):
RTCRoomEngine & TUICallEngine: Provide underlying real-time audio/video capabilities.IMSDK: Provides instant messaging capabilities.This project is licensed under the MIT License.
TUIKit_iOS/ ├── application/ # Demo application │ ├── App-UIKit.xcodeproj │ ├── App-UIKit.xcworkspace │ └── Podfile ├── atomic_x/ # AtomicX UI components │ ├── Sources/ # Swift source files │ └── Resources/ # UI resources ├── call/ # TUICallKit components ├── chat/ # Chat UI components ├── conference/ # Conference/Room UI components ├── live/ # Live streaming components └── devops/ # Build and deployment scripts
Before you begin development, ensure you have:
Development Environment:
Tencent Cloud Account:
Clone and Setup:
git clone https://github.com/Tencent-RTC/TUIKit_iOS.git
cd TUIKit_iOS/application
pod install
Configure Credentials:
App-UIKit.xcworkspace in XcodeGenerateTestUserSig.swiftBuild and Run:
To integrate TUIKit_iOS into your existing project:
Add Podfile Dependencies:
pod 'AtomicX'
pod 'TUICallKit_Swift'
pod 'TUIRoomKit'
pod 'TUILiveKit'
Import and Initialize:
import AtomicXCore
import AtomicX
// Initialize in your AppDelegate
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
// Configure AtomicXCore with your credentials
return true
}
Use UI Components:
import AtomicX
// Example: Add a call view
let callView = CallView()
view.addSubview(callView)
We welcome contributions! Please see our Contributing Guide for details on how to submit pull requests, report issues, and contribute to the project.
git checkout -b feature/amazing-feature)git commit -m 'Add amazing feature')git push origin feature/amazing-feature)See CHANGELOG.md for a detailed history of changes to this project.