Разработчик и основатель студии Union St Бен Сейдж (Ben Sage) выпустил SwifUI‑библиотеку Swift Chat. В ней содержится коллекция UI‑элементов фирменного приложения iMessage. С её помощью разработчики могут добавлять похожий интерфейс в собственные приложения.

Сейдж рассказал, что работал над проектом около года. Идея появилась после того, как сервису персональной охраны Protector понадобился встроенный чат с интерфейсом iMessage. Позже с похожим запросом в студию обратились представители Polymarket. Разработчик решил, что лучше один раз максимально точно повторить UI‑элементы и собрать готовую библиотеку, чем каждый раз возвращаться к одной и той же задаче.
В Swift Chat есть не только базовые элементы интерфейса, но и анимированные индикаторы набора текста, статусы отправки и прочтения, реакции, групповые чаты, группировка сообщений и вложения, включая изображения, видео, аудио, файлы, геолокацию и опросы. Кроме того, разработчик повторил интерактивное скрытие клавиатуры и физику прокрутки из приложений Apple.
В коде автор проекта комбинировал SwiftUI и UIKit. Например, внутри Swift Chat сообщения отображаются через UICollectionView, тогда как разработчик приложения работает только со SwiftUI API. Сейдж отмечает, что некоторые части интерфейса iMessage просто не получилось воссоздать стандартными функциями SwiftUI.
Swift Chat поддерживает iOS 18 и новее, Xcode 16 и Swift 6.1. Библиотеку можно бесплатно использовать в любых приложениях, в том числе в коммерческих. При этом лицензия запрещает декомпиляцию и распространение Swift Chat в составе других SDK. Проект опубликован на GitHub.
Источник: habr.com