# CometChat iOS UI Kit: prebuilt chat screens delivered as a Swift package

> CometChat's iOS UI Kit is a Swift package of ready-made chat components, installable through Swift Package Manager, with sample apps for plain chat, AI agents and APNs push. It saves you from drawing chat screens and costs you a dependency on CometChat's own account, dashboard and licensing terms.

**cometchat/cometchat-uikit-ios** — Ready-to-use Chat UI Components for iOS

- Repository: https://github.com/cometchat/cometchat-uikit-ios
- Website: https://www.cometchat.com
- Stars: 637 · Forks: 33
- Language: Swift
- License: NOASSERTION
- Published: 2026-10-21 · Updated: 2026-10-21 · Language: en
- Canonical page: https://hysenlabs.com/projects/cometchat-cometchat-uikit-ios

## CometChatUIKitSwift supplies the screens, the account still comes from the dashboard

The kit is described as a pre-built user interface kit that developers can use to integrate a chat experience into an existing or a new mobile app. The scope is narrow on purpose: it is a layer of Swift views and view controllers for messaging, and the repository topics list calling, chat, conference, video and voice alongside ui and ui-components.

The service side is not in this repository. Getting started starts at the CometChat Dashboard, where you register, create an app, and receive an Auth Key and an App ID. The instructions are explicit that those credentials need to be kept secure because you will need them later. The Key Concepts and Integration Steps pages in the vendor documentation carry the rest of the setup.

That split is the central design fact. You get the interface and a client for a protocol you did not write, and in exchange you depend on a hosted service, a dashboard account and the vendor's licence. Teams who wanted to own the messaging stack end to end will read this repository and find it answers a different question.

The package is also a hybrid: the tree contains CometChatUIKitSwift.xcodeproj, a Sources directory and Package.swift, plus project.yml, so the project is both a Swift package and a checked-in Xcode project.

## Swift Package Manager is the only route left, CocoaPods is closed

Installation used to have two doors and now has one. CocoaPods distribution is deprecated and no longer maintained, and the guidance is unambiguous: existing CocoaPods integrations should migrate to SPM, and no new CocoaPods versions will be published.

That is the kind of change that catches teams out. A project still pinning a CocoaPods spec gets no new releases and no fixes, and the migration is not cosmetic, because the product name and the package identity used in the manifest are part of the new dependency graph.

The supported floor for the package is stated up front: Xcode 15 or later, and iOS 15.1 and later. Both are floors, not suggestions, so an app still supporting iOS 14 or built on an older Xcode cannot take the package as it stands.

The release tags reflect a project in motion rather than a frozen snapshot. Version 5.2.1 was published on 2026-10-06, 5.2.2 on 2026-10-07 and 5.2.3 on 2026-10-08, and the default branch is v5. Pinning the exact patch you tested is the safer habit given a cadence that tight.

## Adding the package in Xcode, or editing Package.swift by hand

In Xcode the path is the familiar one: File, then Add Package Dependencies, then paste the repository URL and add the CometChatUIKitSwift product to your app target.

```bash
https://github.com/cometchat/cometchat-uikit-ios.git
```

That URL is what you enter in the package dialog. For a project that keeps its dependencies in a manifest, the equivalent declaration is:

```swift
dependencies: [
    .package(url: "https://github.com/cometchat/cometchat-uikit-ios.git", from: "5.2.3")
],
targets: [
    .target(
        name: "YourApp",
        dependencies: [
            .product(name: "CometChatUIKitSwift", package: "cometchat-uikit-ios")
        ]
    )
]
```

The two details that trip people up are visible in that snippet. The version constraint is written as from: "5.2.3", which asks for the 5.2.3 release and later within the same major version, and the product is named CometChatUIKitSwift while the package is named cometchat-uikit-ios, so the two identifiers are not interchangeable.

The releases page is the reference for every published version, and the getting started sequence ends by pointing at the Integration Steps documentation, which is where the credentials from the dashboard get wired into your app.

## Three sample apps cover plain chat, AI agents and APNs push

The repository ships three runnable applications, each in its own directory, and each aimed at a different integration question.

SampleApp is the general case, the one that shows the kit working in a chat application. AISampleApp is the variant for AI agent use cases. SampleAppPushNotificationAPNs adds APNs push notifications to the picture, which is the piece most teams discover late, since notification registration is what makes a chat app feel alive on iOS.

Reading them in that order is a reasonable way to learn the kit: the plain app for the component structure, the AI agent app for the newer surface, the push sample for the notification path.

The README points at each sample app's own readme, and the screenshots directory holds the overview image used to present the kit. The root of the tree also carries the housekeeping files you would expect from a vendor-owned SDK: CHANGELOG.md, CODE_OF_CONDUCT.md, SECURITY.md and THIRD-PARTY-NOTICES.md.

One practical note about the samples: they are the closest thing to a working reference for the API, but they are sample apps inside the vendor's repository rather than a versioning guarantee of your own app's build.

## Agent skills let a coding agent write the CometChat integration for you

The kit comes with an installer for AI coding agents. The skills teach an agent how to build with the iOS UI Kit in Swift apps, and the documented workflow is that you ask the agent to "add chat to my app", it detects your project setup, walks you through a short plan for approval, and then writes the integration code into the existing app following the official guides.

Installing them needs Node.js 18 or newer and one command in the project root:

```bash
npx @cometchat/skills add
```

By default the skills are installed for Claude Code. To target a different agent you pass an IDE flag, and the documentation's example is `--ide cursor`. The list of supported agents given is Claude Code, Cursor, GitHub Copilot, Codex and Windsurf, plus other popular coding agents.

Once installed, you open the project in your agent and prompt it with "add chat to my app", or run the slash command `/cometchat`.

This is the part of the project most worth evaluating carefully rather than skipping. An agent that writes integration code against your app needs the guide and the SDK's real API surface, and the README's own description of the flow, with a plan presented for approval before code is written, is the safeguard to look for.

## A licence GitHub cannot classify, and a release cadence measured in hours

The repository's licence is listed as other, a custom licence that GitHub cannot categorise, with the terms in the LICENSE file. That is a factual matter rather than a judgement, but it has a practical effect: you cannot infer the terms from the repository page, and a legal review has to open the file. THIRD-PARTY-NOTICES.md is present as well, which matters for any app that ships this dependency.

On maintenance, the numbers are unambiguous. The last push was on 2026-10-08, matching the 5.2.3 release published the same day, and the three preceding tags landed on three consecutive days. The default branch is v5.

The gap between the two facts is what you should plan around. The code is being changed continuously, and a UI kit that changes daily can move API surface under you between one sprint and the next. Pinning the version, reading the CHANGELOG.md before each bump, and testing the notification path and the calling surfaces after each upgrade are the three checks that keep that cadence from becoming your outage.

The alternative, for teams who want to own the messaging implementation rather than a hosted service, is to build the chat interface directly against a backend you control and use the CometChat kit only as a reference for what such an interface has to contain. That trade is a lot of design and screen work, and it is only worth it when the messaging layer itself is a product requirement.

## Conclusion

The CometChat iOS UI Kit is worth adopting when you are shipping an iOS app that needs chat, calling, voice or video surfaces and you would rather not design message lists, conversation views and calling screens yourself, since the package, the sample apps and the agent skills cover the path from empty project to running chat. It is the wrong choice if your product needs to own the messaging backend, if you are still integrating through CocoaPods, or if a licence your legal team cannot classify from the repository page is a blocker. Verify first that the CometChatUIKitSwift product resolves at the version you pin, read the LICENSE file yourself since GitHub cannot classify it, and check that your app meets the Xcode 15 and iOS 15.1 floor before you commit to the dependency.

## FAQ

### How do I install the CometChat iOS UI Kit?

Add the package through Swift Package Manager, either with File, Add Package Dependencies in Xcode or with a .package entry in Package.swift, and add the CometChatUIKitSwift product to your app target. CocoaPods distribution is deprecated and no new CocoaPods versions will be published.

### What are the minimum requirements for the CometChat iOS UI Kit?

Xcode 15 or later and iOS 15.1 or later. The package is distributed as a Swift package.

### Do I need a CometChat account to use the iOS UI Kit?

Yes. You register on the CometChat Dashboard, create an app, and receive an Auth Key and an App ID that you keep secure and pass into your integration.

### Which sample apps ship with the CometChat iOS UI Kit?

There are three: SampleApp for a general chat app, AISampleApp for AI agent use cases, and SampleAppPushNotificationAPNs for APNs push notification integration.

### Can an AI coding agent install the CometChat iOS UI Kit integration?

Yes, through the CometChat Agent Skills. Run npx @cometchat/skills add in the project root with Node.js 18 or newer, pass --ide <agent> to target something other than Claude Code, then ask the agent to add chat to your app or run /cometchat.

### What license does the CometChat iOS UI Kit use?

The repository is licensed under a custom licence that GitHub cannot classify, with the terms in the LICENSE file and third-party notices in THIRD-PARTY-NOTICES.md. Read the file before shipping it in a commercial app.

## Sources

- [cometchat/cometchat-uikit-ios on GitHub](https://github.com/cometchat/cometchat-uikit-ios)
- [Issues](https://github.com/cometchat/cometchat-uikit-ios/issues)
- [Project website](https://www.cometchat.com)
- [README](https://github.com/cometchat/cometchat-uikit-ios/blob/v5/README.md)
- [Releases](https://github.com/cometchat/cometchat-uikit-ios/releases)

---

Hysen Labs editorial analysis, written from the project's own repository and release notes. Cite the canonical page: https://hysenlabs.com/projects/cometchat-cometchat-uikit-ios
