Complete documentation for building AI-powered chat applications with FinClip ChatKit.
Swift Developer? → Swift Quick Start → Swift Developer Guide
Objective-C Developer? → Objective-C Quick Start → Objective-C Developer Guide
- Overview - Complete introduction to ChatKit: features, protocols, and capabilities
- Getting Started Guide - Language-specific quick starts (Swift & Objective-C)
- Quick Start Guide - Minimal skeleton templates (5 minutes)
- Swift Developer Guide - Comprehensive Swift guide from beginner to expert
- Basic usage
- Multiple conversations
- Conversation list UI
- Advanced patterns
- Objective-C Developer Guide - Complete Objective-C guide
- Basic usage
- Multiple conversations
- Conversation list UI
- API reference
- Configuration Guide - Complete configuration reference for all ChatKit options
- API Levels Guide - Understanding high-level vs low-level APIs
- Component Embedding Guide - Embedding components in various scenarios (Swift & Objective-C examples)
- Context Providers Guide - Implementing custom context providers (Swift & Objective-C)
- Prompt Starters Guide - Creating and configuring prompt starters (Swift & Objective-C)
- Provider Customization - Context, ASR, and title generation providers
- Installation Guide - Package manager setup (SPM, CocoaPods)
- Build Tooling Guide - Makefile, XcodeGen, reproducible builds
- Remote Dependencies - Working with remote binary dependencies
- UI Customization - Styling and theming
- Provider Mechanisms - Customize framework behavior
- Architecture Overview - Framework structure and design
- Troubleshooting Guide - Common issues and solutions
-
Optional: Learn About ChatKit → Overview - Understand features, protocols, and capabilities
-
Start Here: Swift Quick Start
- 5-minute setup
- Minimal code example
-
Learn Basics: Swift Developer Guide - Part 1
- Detailed walkthrough
- Key concepts
-
Build Features: Swift Developer Guide - Parts 2 & 3
- Multiple conversations
- Conversation history
-
Customize: Component Embedding | Providers
-
Advanced: API Levels | Architecture
-
Optional: Learn About ChatKit → Overview - Understand features, protocols, and capabilities
-
Start Here: Objective-C Quick Start
- 5-minute setup
- Minimal code example
-
Learn Basics: Objective-C Developer Guide - Basic Usage
- Coordinator setup
- Creating conversations
- Showing chat UI
-
Build Features: Objective-C Developer Guide - Multiple Conversations
- Conversation manager
- Observing updates
- Resuming conversations
-
Customize: Component Embedding | Provider Customization
-
Reference: Objective-C API Reference
- Overview - Complete introduction: features, protocols, capabilities, and what you can build
- Swift: Quick Start → Swift Guide
- Objective-C: Quick Start → Objective-C Guide
- Swift: Developer Guide - Part 2
- Objective-C: Objective-C Guide - Multiple Conversations
- Swift: Developer Guide - Part 3
- Objective-C: Objective-C Guide - Conversation List UI
- Component Embedding - Drawer (Swift & Objective-C examples)
- Component Embedding - Sheet (Swift & Objective-C examples)
- Swift: API Levels - Title Providers
- Objective-C: Objective-C Guide - Title Providers
- Swift & Objective-C: Context Providers Guide - Complete guide with examples
- Swift: API Levels - Context Providers
- Objective-C: Objective-C Guide - Context Providers
- Swift & Objective-C: Configuration Guide - Complete configuration reference
- Status banner, welcome messages, prompt starters, tools, context providers
- Theme customization, performance tuning, debug settings
Location: demo-apps/iOS/Simple/
What it demonstrates:
- High-level APIs
- Drawer-based navigation
- Component embedding
- Standard build tooling
Run it:
cd demo-apps/iOS/Simple
make runSee: Simple README
Location: demo-apps/iOS/SimpleObjC/
What it demonstrates:
- Objective-C high-level APIs
- Navigation-based flow
- Remote dependency usage
Run it:
cd demo-apps/iOS/SimpleObjC
make runSee: SimpleObjC README
docs/
├── README.md (this file) # Main documentation index
├── overview.md # High-level overview and introduction
│
├── Getting Started
│ ├── getting-started.md # Detailed walkthrough (Swift & Objective-C)
│ └── quick-start.md # Minimal skeleton templates (5 minutes)
│
├── guides/ # Language-specific comprehensive guides
│ ├── developer-guide.md # Swift comprehensive guide
│ ├── developer-guide.zh.md # Swift guide (Chinese)
│ ├── objective-c-guide.md # Objective-C comprehensive guide
│ ├── objective-c-guide.zh.md # Objective-C guide (Chinese)
│ ├── configuration.md # Configuration guide (Swift & Objective-C)
│ ├── configuration.zh.md # Configuration guide (Chinese)
│ ├── context-providers.md # Context providers guide (Swift & Objective-C)
│ ├── context-providers.zh.md # Context providers guide (Chinese)
│ ├── prompt-starters.md # Prompt starters guide (Swift & Objective-C)
│ └── prompt-starters.zh.md # Prompt starters guide (Chinese)
│
├── Core Concepts # Shared concepts (Swift & Objective-C)
│ ├── api-levels.md # High-level vs low-level APIs
│ ├── api-levels.zh.md # API levels (Chinese)
│ ├── component-embedding.md # Component usage scenarios
│ └── component-embedding.zh.md # Component embedding (Chinese)
│
├── Integration & Setup
│ ├── integration-guide.md # Package managers, installation
│ ├── integration-guide.zh.md # Integration guide (Chinese)
│ ├── build-tooling.md # Makefile, XcodeGen
│ ├── build-tooling.zh.md # Build tooling (Chinese)
│ ├── remote-dependencies.md # Remote binary dependencies
│ ├── remote-dependencies.zh.md # Remote dependencies (Chinese)
│ └── running-demos.md # Running demo applications
│
├── Customization
│ └── how-to/
│ ├── customize-ui.md # UI customization
│ └── customize-ui.zh.md # UI customization (Chinese)
│
├── Reference
│ ├── architecture/
│ │ ├── overview.md # Framework architecture
│ │ └── overview.zh.md # Architecture (Chinese)
│ └── troubleshooting.md # Common issues and solutions
│
└── archive/ # Historical/maintainer documentation
├── summaries/ # Historical summaries
├── llmtxt/ # Legacy content
├── STRUCTURE.md # Documentation structure (for maintainers)
├── RESTRUCTURING_SUMMARY.md # Restructuring summary (for maintainers)
└── TRANSLATION_STATUS.zh.md # Translation status (for maintainers)
Ready-made components that handle most use cases:
ChatKitCoordinator/CKTChatKitCoordinator- Runtime lifecycleChatKitConversationViewController- Chat UI (Swift & Objective-C)ChatKitConversationListViewController- List UI (Swift & Objective-C)
See: API Levels Guide
Direct access for maximum flexibility:
- Direct runtime access
- Manual UI binding
- Custom implementations
See: API Levels Guide
Customize framework behavior:
- Context providers - Attach location, calendar, notes, etc.
- ASR providers - Custom speech recognition
- Title generation providers - Custom conversation titles
See: Context Providers Guide | API Levels Guide
- ✅ Full API support
- ✅ Async/await patterns
- ✅ Combine publishers
- ✅ Type-safe APIs
Guides: Swift Developer Guide
- ✅ Full API support via wrappers
- ✅ Delegate-based patterns
- ✅ Completion handlers
- ✅
CKT-prefixed classes
Guides: Objective-C Developer Guide
This documentation is for ChatKit 0.7.4.
All examples and code snippets use APIs available in version 0.7.4 or later.
Found an issue or want to improve the documentation?
- Open an issue describing the problem or improvement
- Submit a pull request with your changes
- Follow the existing documentation style and structure
- Documentation Issues: GitHub Issues
- Questions: GitHub Discussions
- Examples:
demo-apps/iOS/directory
From the examples and documentation:
- ✅ High-level APIs for rapid development (Swift & Objective-C)
- ✅ Safe runtime lifecycle management
- ✅ Ready-made UI components
- ✅ Component embedding in various containers
- ✅ Managing multiple conversations
- ✅ Provider mechanisms (context, ASR, title generation)
- ✅ Reproducible builds with Makefile and XcodeGen
- ✅ Best practices and common pitfalls
Ready to build?
- Swift Developer? → Swift Quick Start
- Objective-C Developer? → Objective-C Quick Start
Made with ❤️ by the FinClip team