Skip to main content

iOS UI Kit v5 — LLM docs index (Latest)

Stateful, drop-in Swift/UIKit chat and calling UI. Package CometChatUIKitSwift@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 .md twin 404s, fetch the same URL without .md (HTML). Never read the framework’s .swiftinterface for behaviour, and never answer an API from memory.
  • iOS specifics: components are UIView/UIViewController subclasses configured through chainable set(...) 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/.xcworkspace remain 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 .swiftinterface imports both CometChatSDK and CometChatCallsSDK, 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 via Bundle.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, CometChatUsersWithMessages or CometChatGroupsWithMessages exists 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 own Group, so the bare cast is ambiguous and will not compile.

Getting started / integration

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.

Components — lists

Components — messaging

Calling

AI

Theming and styling

Features and extras

When the UI Kit has no component

Some capabilities ship no UI Kit component — AI agents, campaigns, moderation, adding group members, transient messages, low-level presence, webhooks. For those, drop to the Chat SDK and call the method directly; it is already linked under the kit. Start at the scoped SDK index: iOS SDK v4 — LLM docs index.