iOS UI Kit v5 — LLM docs index (Latest)
Stateful, drop-in Swift/UIKit chat and calling UI. PackageCometChatUIKitSwift@5+CometChatSDK@4+CometChatCallsSDK@5. This page is an iOS-v5-only routing index for AI agents — a scoped alternative to the site-wide/docs/llms.txt.
How to use this index
Each link points to the docs page; append.md to its URL to fetch the clean Markdown twin
(verbatim code + an “AI Integration Quick Reference” block with names, types, and defaults). Pick
the page for the intent, then read the API there.
- Convention: any docs page URL +
.md→ raw Markdown. - Fallback: if a
.mdtwin 404s, fetch the same URL without.md(HTML). Never read the framework’s.swiftinterfacefor behaviour, and never answer an API from memory. - iOS specifics: components are
UIView/UIViewControllersubclasses configured through chainableset(...)methods (set(user:),set(onItemClick:)), not React-style props. Some surfaces are settable properties instead (hideNavigationBar,style) — check the component page rather than assuming a setter exists.
Install facts an agent must not guess
- SPM is the supported path. CocoaPods distribution is winding down;
Podfile/.xcworkspaceremain valid detection signals for an existing project, but new integration uses SPM. - All three packages are required, even for a chat-only app. The UI Kit ships as a prebuilt
binary whose public
.swiftinterfaceimports bothCometChatSDKandCometChatCallsSDK, so the module fails to resolve unless every one is declared and linked:cometchat-uikit-ios·chat-sdk-ios·calls-sdk-ios. - Pin exact versions, not floors. The UI Kit binary is compiled against one specific Chat SDK
version and SPM will not resolve that transitively; a floating
from:can drift into a mismatch on the next SDK publish. - Deployment target is iOS 15.1, set by the package itself — not iOS 13.
- Credentials:
.xcconfig→ matching$(VAR)entries in Info.plist → read viaBundle.main.object(forInfoDictionaryKey:). The Info.plist step is mandatory and is the most common cause of a nil App ID at runtime.
Hot path — usually no fetch needed
For a plain “add chat” the install,init → login → render ordering, and the core drop-in
composition are stable; a well-built agent skill bakes them. Fetch below only for exhaustive
APIs, long-tail components, theming tokens, or feature enablement.
- Setup: iOS Integration · Overview
- There is no composite chat component. No
CometChatMessages,CometChatConversationsWithMessages,CometChatUsersWithMessagesorCometChatGroupsWithMessagesexists in v5 — those are v4. A message screen is host-composed from header + list + composer inside your own view controller. See Conversation List + Message View. - Core drop-ins: Conversations · Message Header · Message List · Message Composer
- In SwiftUI hosts, qualify the SDK types —
conversation.conversationWith as? CometChatSDK.User/as? CometChatSDK.Group. SwiftUI declares its ownGroup, so the bare cast is ambiguous and will not compile.
Getting started / integration
- CometChat UI Kit For iOS
- iOS Integration
- Components Overview
- Core Features
- Methods
- Events
- Upgrading from V4 to V5
- Troubleshooting
Task guides (recipes)
End-to-end, buildable walkthroughs. Build FROM the guide for a whole feature, then apply component-level corrections from the component pages on top.- Overview
- Conversation List + Message View
- One-to-One / Group Chat
- Tab-Based Chat
- Create Conversation
- Group Details
- Transfer Group Ownership
- Threaded Messages
- Message Privately
- Block/Unblock User
- AI Agent Integration
- Call Log Details
Components — lists
Components — messaging
- Message Header
- Message List
- Message Composer
- Compact Message Composer
- Message Template
- Threaded Messages Header
- Mentions Formatter
- ShortCut Formatter
Calling
- Calling Integration
- Calling Features
- Call Buttons
- Call Logs
- Incoming Call
- Outgoing Call
- Ongoing Call