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
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.