explaingit

jessesquires/jsqmessagesviewcontroller

11,086Objective-CAudience · developerComplexity · 2/5LicenseSetup · moderate

TLDR

A deprecated iOS Objective-C library that provided a ready-made chat interface mimicking the iPhone Messages app, no longer maintained but still available for reference or legacy project use.

Mindmap

mindmap
  root((JSQMessages))
    What it was
      Chat UI for iOS
      Messages app look
      Speech bubbles
    Features
      Timestamps
      Media messages
      System sounds
    Status
      Deprecated
      No new updates
      MIT license
    Installation
      CocoaPods
    Audience
      Legacy iOS projects
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

Things people build with this

USE CASE 1

Reference the codebase to understand how a chat UI was implemented in Objective-C for iOS before modern frameworks existed.

USE CASE 2

Maintain or fork the library for a legacy iOS app that still depends on it.

USE CASE 3

Study the architecture of a large open-source iOS UI component that was used in over 36,000 apps.

Tech stack

Objective-CiOSCocoaPods

Getting it running

Difficulty · moderate Time to first run · 30min

Deprecated and unmaintained, will not receive updates for new iOS or Xcode versions. Suitable only for legacy project maintenance.

MIT license, the existing code is free to use, modify, and distribute, but no new features or bug fixes will be added.

In plain English

JSQMessagesViewController was an Objective-C library for iOS that gave developers a ready-made chat interface to drop into their apps. The goal was to closely reproduce the look and behavior of the built-in Messages app on iPhone, including speech bubbles, timestamps, and media message support. At its peak it was used in over 36,000 apps according to the CocoaPods package registry. The library is now officially deprecated and is no longer maintained. The author published a blog post explaining the decision. The repository remains public for historical reference and for any developers who still have it integrated into older projects, but no new features or bug fixes are being added. When it was active, it supported iOS 7 and above and was written in Objective-C. Installation was handled through CocoaPods, a package manager for iOS projects, by adding a single line to a project's Podfile. The library had one dependency, a companion package for playing system sounds. Documentation included a getting-started guide, a FAQ, a migration guide for moving between major versions, and a list of apps known to be using it. Support questions were directed to Stack Overflow rather than GitHub issues, and the project had an active contributor community with an onboarding guide for those wanting push access. The license is MIT, which means the existing code is free to use, modify, and distribute. Anyone still using the library in a maintained project would need to find an actively supported alternative, as this one will not receive updates for new iOS versions or Xcode releases.

Copy-paste prompts

Prompt 1
I have a legacy iOS app still using JSQMessagesViewController. Help me audit which features I rely on so I can plan a migration to an actively maintained chat UI alternative.
Prompt 2
Show me how JSQMessagesViewController structured its message bubble cells in Objective-C, I want to replicate a similar layout using UIKit in a new project.
Prompt 3
What are actively maintained alternatives to JSQMessagesViewController for building a chat UI in iOS today? Compare them for ease of setup.
Open on GitHub → Explain another repo

← jessesquires on gitmyhub — every repo by this author, as a profile.

Verify against the repo before relying on details.