Awesome Swift
by matteocrippa · matteocrippa/awesome-swift
A collaborative list of awesome Swift libraries and resources.
DAutomatic differentiation, fast tensor operations and dynamic neural networks from CNNs and RNNs to transformers.
EFast, local LLM inference for Apple Silicon. Built in Swift and Metal from the ground up.
FA voice-controlled AI agent for macOS using accessibility APIs and ScreenCaptureKit.
OOpen-source Agent SDK with full agent loop, 34 built-in tools, sub-agent orchestration, MCP integration, and multi-provider LLM support.
GScheduled generated GitHub's REST API as Swift code from OpenAPI specification.
RFramework to Generate Random Users - An Unofficial SDK for randomuser.me.
SFramework for rapid development of native iOS apps that integrate with Salesforce.
CKeep track of accessibility settings, leverage high contrast colors, and use scalable fonts to enable users with disabilities to use your app.
AAdvanced usage of UIAlertController with TextField, DatePicker, PickerView, TableView and CollectionView.
A🍞 An async waiting toast with basic toast. Inspired by facebook posting toast.
MPopups, popovers, sheets, alerts, toasts, banners, (...) presentation made simple.
NThe easiest way to display highly customizable in app notification banners in iOS.
PPMAlertController is a great and customizable substitute to UIAlertController.
PA simple, customizable popup dialog. Replaces UIAlertController alert style.
SNative popup from Apple Music & Feedback in AppStore. Contains Done & Heart presets.
SDisplay Apple system-like self-hiding status alerts without interrupting user flow.
EA library to take the power of UIView.animateWithDuration(:, animations:...) to a whole new level.
IDesign and prototype UI, interaction, navigation, transition and animation for App Store ready Apps in Interface Builder with IBAnimatable.
IInterpolation framework for creating interactive gesture-driven animations.
PA library to help you to make tutorials, release notes and animated pages.
SSimple Interface Core Animation. Run type-safe animation sequencially or parallelly.
TType-safe CAAnimation wrapper. It makes preventing to set wrong type values.
C:oncomingbus: Crossroad is an URL router focused on handling Custom URL Schemes.
MDeclarative state- and URL-based router. Complex automatic View Controllers hierarchy transitions. Time-tested server-side conventions.
RRxFlow is a navigation framework for iOS applications based on a Reactive Flow Coordinator pattern.
SManage complex workflows wherever Swift can be built. It comes with built-in support for UIKit, Storyboards, and SwiftUI.
ALightweight library to easily handle auto-renewable subscriptions with no backend required.
AA tiny library to request review on the AppStore via SKStoreReviewController.
FA framework that simplifies working with in-app purchases on iOS, macOS, tvOS, and watchOS, with full support for both StoreKit 1 and StoreKit 2.
APowerful audio synthesis, processing and analysis, without the steep learning curve.
AAudioPlayer is a simple class for playing audio (basic and advanced usage) in iOS, OS X and tvOS apps.
FSDK for real-time on-device audio intelligence on iOS/macOS (diarization, identification, VAD, separation, embeddings, ASR), with CoreML models converted directly from PyTorch to leverage Apple Neural Engine performance.
MPersistence AVPlayer to resume playback after bad network connection even in background mode.
SSoundable allows you to play sounds, single and in sequence, in a very easy way.
SSimple audio player for iOS that streams and performs realtime audio manipulations with AVAudioEngine.
VAn overlay that gets your user’s voice permission and input as text in a customizable UI.
AHigh-level framework for using $5 Google Cardboard to replicate Microsoft Hololens.
LSimple view controller to log in and retrieve an access token from LinkedIn.
FDeclarative autolayout based on NSLayoutAnchor, swifty reimagination of VFL, alternative to UIStackView.
MA concise but flexible DSL for creating Auto Layout constraints and adding subviews.
NFast path to layout using Visual Format Language (VFL) with extended syntax.
SPowerful auto-layout framework that lets you write constraints in one line of code.
TTinyConstraints is the syntactic sugar that makes Auto Layout sweeter for human use.
IiOS project template with fastlane lanes, Travis CI jobs and GitHub integrations of Codecov, HoundCI for SwiftLint and Danger.
MA flexible and easy template created to speed up the development of your iOS application based on the MVP pattern.
Tpenguin: - Open-source framework for Telegram Bots developers. It was built on top of Apple/SwiftNIO which help to demonstrate excellent performance.
ACustomizable download button with progress and transition animations. It is based on Apple's App Store download button.
LA fully customisable subclass of the native UIControl which allows you to create beautiful buttons without writing any line of code.
MA UIButton subclass that implements tap-to-toggle button text (like the camera flash and timer buttons).
NRevamped Download Button. It's kinda a reverse engineering of Netflix's app download button.
Cpenguin: - Easy CBOR encoding and decoding for iOS, macOS, tvOS and watchOS.
Cpenguin: - Read and write CSV files row-by-row or through Swift's Codable interface.
CA Caching Library that can cache JSON, Image, Zip or AnyObject with expiry date/TTYL and force refresh.
MMemory cache framework with TTL, priority-based eviction, and avalanche protection.
CCalendar Component, It features both vertical and horizontal layout (and scrolling) and the display of native calendar events.
HA declarative, performant, iOS calendar UI component that supports use cases ranging from simple date pickers all the way up to fully-featured calendar apps.
OOBCalendar is designed for simplicity and customization, it allows you to build beautiful and functional calendar interfaces effortlessly.
CMassively increase camera performance and ease of use in your next project.
MSwiftUI customizable media picker - supports camera and gallery with albums
MCamera made simple. Fully customizable camera library that significantly reduces implementation time and effort.
CA navigation controller that displays its view controllers as an interactive stack of cards.
VA marriage between the Shazam Discover UI and Tinder, built with UICollectionView.
SAdaptive scrollable graph view for iOS to visualise simple discrete datasets.
SA simple line and area charting library for iOS. Supports multiple series, partially filled series and touch events.
SA charts / plotting library for SwiftUI. Works on macOS, iOS, watchOS, and tvOS and has accessibility and Localization features built in.
ESwiftUI Chat UI framework with fully customizable message cells, input view, and a built-in media picker
IA simple and easily customizable InputAccessoryView for making powerful input bars with autocomplete and attachments.
RFunctional real-time chat app with Firebase Firestore using MessageKit.
SPrimitive SwiftUI chat UI component with stable prepending for loading older messages without scroll jumps.
PStyles and colors text in the Terminal with ANSI escape codes. Conforms to ECMA Standard 48.
AA framework for writing terminal applications in Swift. Based on The Elm Architecture.
MDocker-compatible container CLI for macOS, built on Apple's Containerization framework.
NA set of command line tools that lets you have compile time verification of your documentation written as Xcode Playground.
SA library for creating command-line applications and running shell commands.
Apenguin: - A library of queues that enable sending ordered tasks from synchronous to asynchronous contexts.
Fpenguin: - Lightweight promises for iOS, macOS, tvOS, watchOS, and server-side.
Qpenguin: - A queue manager, built on top of OperationQueue and Dispatch (aka GCD).
TThrottle massive number of asynchronous inputs in a single drop of one line API.
CRobust CloudKit synchronization: offline editing, relationships, shared and public databases, and more.
DDataKernel is a minimalistic wrapper around Core Data stack to ease persistence operations. No external dependencies.
JEasiest and safest way to do persistence on iOS with Core Data support out of the box.
SA minimalistic, thread safe, non-boilerplate and super easy to use version of Active Record on Core Data.
SInterface to the Sodium library for common crypto operations for iOS and OS X.
TMultilanguage framework for making typical encryption schemes easy to use: data at rest, authenticated data exchange, transport protection, authentication, and so on.
DLibrary for dealing with NSDate, NSCalendar, NSDateComponents, and NSTimeInterval.
TGet the true current time impervious to device clock time changes (NTP library).
TEnhancing Date handling by enabling type-level customization of date components
LA micro-framework that leverages Property Wrappers to implement the Service Locator pattern.
AA SwiftPM based dependency manager for iOS & Co. with improvements over Carthage.
LA lightweight implementation of an observable sequence that you can subscribe to.
NNoticeObserveKit is type-safe NotificationCenter wrapper that associates notice type with info type.
NHelping you own NSNotificationCenter by providing a simple, customizable adapter.
OOpen source implementation of Apple's Combine framework for processing values over time.
RReactiveCocoa (RAC) is a Cocoa framework inspired by Functional Reactive Programming. It provides APIs for composing and transforming streams of values over time.
TReact-like declarative API for building native UI components with easy to use one-way data binding.
TPublish–subscribe design pattern implementation framework, with ability to publish events by topic.
VUnidirectional Data Flow State Management Architecture - Inspired by Vuex and Flux.
FFileManager replacement for Local, iCloud and Remote (WebDAV/FTP/Dropbox/OneDrive/SMB2) files for iOS/tvOS and macOS.
SLibrary for Font Icons: dripicons, emoji, font awesome, icofont, ionicons, linear icons, map icons, material icons, open iconic, state, weather.
C🚴 A declarative library for building component-based user interfaces in UITableView and UICollectionView.
GSpriteKit and GameplayKit based engine for making 2d games, with practical examples and tutorials.
Rpenguin: - A Cross-Platform Swift package for Raylib. Builds Raylib from source so no need to fiddle with libraries. Just add as a dependency in you game package and go!
Swift bindings for the Godot game engine to build extensions or act as an api with SwiftGodotKit.
SShow off your iOS taps and gestures for demos and videos with just one line of code.
SUITableViewCell implementing swiping to trigger actions (known from the Mailbox App).
ZHelps you convert HTML strings into NSAttributedString with customized styles and tags.
AImage slide-show viewer with multiple predefined transition styles, and with ability to create new transitions with ease.
AAn iPhone/iPad photo gallery viewer, useful for viewing a large (or small!) number of photos.
CA library that displays spherical or cylindrical panoramas with touch or motion based controls.
DA fully customizable photo viewer ViewController to display single photo or collection of photos, inspired by Facebook photo viewer.
FA modern, simple and zero-dependency photo picker with an elegant and customizable image editor.
GGPUImage 2 is a BSD-licensed framework for GPU-accelerated video and image processing.
GGPUImage 3 is a BSD-licensed framework for GPU-accelerated video and image processing using Metal.
JA UIImageView allow you to add multiple Label (multiple line text support) on it, you can edit, rotate, resize the Label as you want with one finger ,then render the text on Image.
KA iOS library for adding effects, drawings, text, stickers, and making GIFs from existing media or the camera.
MA custom ImageView that is used to cover the surface of other view like a scratch card, user can swipe the mulch to see the view below.
NAdvanced framework for loading, caching, processing, displaying and preheating images.
PScan the MRZ code of a passport and extract the first name, last name, passport number, nationality, date of birth, expiration date and personal number.
SLibrary that converts SVG images to UIImage, NSImage and generates CoreGraphics source code.
SA tool to auto-generate enums for all your UIImages from your Assets Catalogs.
SA single pass SVG parser with multiple interface options (String, NS/UIBezierPath, CAShapeLayer, and NS/UIView).
AAn Alamofire extension which converts JSON response data into objects using ObjectMapper.
EReflection based JSON encoding and decoding. Including support for NSDictionary, NSCoding, Printable, Hashable and Equatable.
JLightning fast JSON deserialization and value conversion library for iOS & OS X.
JAuto reflection tool from JSON to Model, user friendly JSON encoder / decoder, aims to never die.
PManage application preferences, NSUserDefaults, iCloud, Keychain and more.
SA lightweight wrapper over UserDefaults & NSUserDefaults with an extra AES-256 encryption layer.
IAn elegant solution for keeping any UIView visible when the keyboard is being shown. No UIScrollView required.
ICodeless drop-in universal library allows to prevent issues of keyboard sliding up and cover UITextField/UITextView.
KAdd user-customizable global keyboard shortcuts to your macOS app. Includes a Cocoa and SwiftUI component.
R🎀 A simple cross-platform toolbar/custom input accessory view library for iOS & macOS.
TSmall, drop-in UIKit keyboard manager for iOS apps-helps manage keyboard's screen presence and behavior without notification center.
G💾 GoodPersistence simplifies caching data in keychain and UserDefaults. Using a property wrappers.
KHelper functions for saving text in Keychain securely for iOS, OS X, tvOS and watchOS.
SSimple static wrapper for the iOS Keychain to allow you to use it in a similar fashion to user defaults.
VValet lets you securely store data in the Keychain without knowing a thing about how the Keychain works. It’s easy. We promise.
Bpenguin: - A collection of useful classes, structs and extensions to develop Apps faster.
CWhich contacts changed outside your app? Better CNContactStoreDidChange notification: Get real changes, without the noise.
AUILabel drop-in replacement supporting Hashtags (#), Mentions (@) and URLs (http://).
ATConvert text with HTML tags, links, hashtags, mentions into NSAttributedString. Make them clickable with UILabel drop-in replacement.
CSimple countdown UILabel with morphing animation, and some useful function.
Cpenguin: - Powerful autolayout framework, that can manage UIView(NSView), CALayer, not rendered views and etc. Provides placeholders.
FNice and clean interface to the highly optimized Facebook yoga Flexbox implementation.
FThis framework supports complex layouts, including chaining and nesting layout with simple and intuitive operand & DSL syntax.
PFast Views layouting without auto layout. No magic, pure code, full control and blazing fast. Concise syntax, intuitive, readable & chainable. [iOS/macOS/tvOS]
SA scroll view with a sticky header which shrinks as you scroll. Written with SwiftUI.
BIncrementally update/translate your Strings files from Code and Storyboards/XIBs.
CDelivers all new translations from Crowdin project to the application immediately.
LLocalization of an application with ability to change language "on the fly" and support for plural forms in any language.
LRealtime dynamic localization of your app with remote management so you can manage maintain and deploy translations without resubmitting app.
Easily convert iOS .strings files to Android strings.xml format and vice versa.
SA tool to auto-generate enums for all your Localizable.strings keys (with appropriate associated values if those strings contains printf-format placeholders like %@).
TSuper lightweight library that helps you to localize strings, even directly in storyboards.
AWrapper for Apple CoreLocation framework with Modern Concurrency Swift (async/await).
CConfigurable and extensible high-level logging API that is simple, lightweight and performant.
Dpenguin: - Lightweight logging library focused on reporting timings for operations.
Ppenguin: - A flexible logging library that supports multiple transports and platforms.
Tpenguin: - Dead Simple: logging the way it's meant to be! Runs on iOS, macOS, and Linux.
WA logging tool to show the current framerate (fps) in the status bar of your iOS app.
XFull featured & Configurable logging utility with log levels, timestamps, and line numbers.
FFlyoverKit enables you to present stunning 360° flyover views on your MKMapView with zero effort while maintaining full configuration possibilities.
GMake it easier to work with geographic models and calculate intersections, overlapping, projections etc.
DDDMathParser makes it easy to parse a String and evaluate it as a mathematical expression.
CCircleMenu is a simple, elegant UI menu with a circular layout and material design animations.
FInteractive view transition to display menus with flowing and bouncing effects.
PA paging view controller with a highly customizable menu, built on UICollectionView.
SSimple side menu control for iOS inspired by Facebook. Right and Left sides. No coding required.
SiOS Slide Menu View based on Google+, iQON, Feedly, Ameba iOS app.
BLevel up your Codable structs through property wrappers. The goal of these property wrappers is to avoid implementing a custom init(from decoder: Decoder) throws and suffer through boilerplate.
CA Collection of PropertyWrappers to make custom Serialization of Codable Types easy.
FGeneralized approach to managing shared data in Swift applications to support Local-first apps.
FA command line tool for exporting resources and generating code from your Figma files.
M@MemberwiseInit is a Swift Macro that can more often provide your intended init, while following the same safe-by-default semantics of Swift’s memberwise initializers.
SCreate XCFrameworks with ease! A Command Line Tool to create XCFramework for multiple platforms at one shot! iOS, Mac Catalyst, tvOS, macOS, and watchOS.
Spenguin: - A command line tool for generating a REST API from a Swagger spec based off Stencil templates.
TAn open source command line tool to create, maintain and interact with your Xcode projects at scale.
XTool for generating Xcode projects from a YAML file and your project directory.
AA framework that leverages the type system to let you easily create mocked instances of your data types.
MMock Alamofire and URLSession requests without touching your code implementation
MSimplify software testing, by easily mocking any system using HTTP/HTTPS, allowing a team to test and develop against a service that is not complete, unstable or just to reproduce planned cases.
Ppenguin: - A stand-alone wrapper around the mongo-c client library, enabling access to MongoDB servers.
PStore and retrieve Codable objects to various persistence layers, in a couple lines of code!
CPowerful Codable API requests builder and manager for iOS. Based on Alamofire.
C🌐 Makes Internet connectivity detection more robust by detecting Wi-Fi networks without Internet access.
MA wrapper for the MultipeerConnectivity framework for automatic offline data transmission between devices.
Ppenguin: - HTTP / HTTPS networking library just incidentally execute on machines.
RWrite clean, concise and declarative network code relying on URLSession, with the power of RxSwift. Inspired by Retrofit.
RA non-intrusive framework for intercepting any outgoing requests and incoming responses between your app and server for debugging purposes.
Elegant abstraction for REST APIs that untangles stateful messes. An alternative to callback- and delegate-based networking.
T🌏 A zero-dependency networking solution for building modern and secure iOS, watchOS, macOS and tvOS applications.
TBackground downloads, relaunch recovery, resumable transfers, and task management for iOS apps.
A bi-weekly newsletter to give you the latest updates on popular and unknown open source projects written or related to Swift.
Ppenguin: - CRUD is an object-relational mapping (ORM) system using Codable protocol.
Official SwiftUI tutorial with 4+ hours of content and interactive tutorials.
AList of the questions that helps you to prepare for the interview.
AA curated list of awesome applications, softwares, tools and shiny things for macOS.
EAn amazing list for people who are beginners and learning ios development and for ios developers who need any example app or feature.
CA performant cache for logging systems. CacheAdvance persists log events 30x faster than SQLite.
ESimplified access to CloudKit with support for subscriptions and local caching.
KKeyPathKit provides a seamless syntax to manipulate data using typed keypaths.
SIt is a nice alternative for UIPageViewController built using power of generic types. Swipe between pages with an interactive title navigation control. Configure horizontal or vertical chains for unlimited pages amount.
G⚛️ GoodReactor is a Redux-inspired Reactor framework for communication between the View Model, View Controller, and Coordinator.
SA Simple architecture that decouples state changes from SwiftUI's View
SProvides a versatile Feedback Loop implementation working with RxSwift, ReactiveSwift and Combine.
SStateful UIVIewController composition — the MVC cure for Massive View Controllers.
SA Reactive Data-Binding and Dependency Injection Library for SwiftUI x Concurrency.
TA library for building applications in a consistent and understandable way, with composition, testing, and ergonomics in mind.
TA lightweight, pure-Swift library for reading and validating Apple In App Purchase Receipt locally.
PFramework for parsing, formatting and validating international phone numbers. Inspired by Google's libphonenumber.
Apenguin: - Lint anything by combining the power of Swift & regular expressions.
Spenguin: - Architecture linter that enforces Clean Architecture and TCA import rules using SwiftSyntax.
SA tool for Swift code modification intermediating between code generation and formatting.
SA validation library which inspired by the clarity of Ruby On Rails Active Record validations.
SA code library and command-line formatting tool for reformatting Swift code.
Tpenguin: - Cross-platform static analyzer that helps you to write cleaner code and avoid bugs.
UUnrealm enables you to easily store Swift native Classes, Structs and Enums into Realm.
SGeneric SOAP client to access SOAP Web Services using iOS, Mac OS X, and Apple TV.
Ppenguin: - A stand-alone wrapper around the MySQL client library, enabling access to MySQL servers.
Ppenguin: - A stand-alone wrapper around the libpq client library, enabling access to PostgreSQL servers.
SA hand-curated collection of useful and informative scripting material.
DBest in class customizable ScrollBar for any type of ScrollView with Decelerating, Bounce & Rubber band mechanisms and many many more.
SHelps you define secure storages for your properties using Swift property wrappers.
This style guide is based on Apple’s excellent Swift standard library style and also incorporates feedback from usage across multiple Swift projects within Google.
MA Customizable Switch UI for iOS, Inspired from Google's Material Design.
PRAMPaperSwitch is a material design UI module which paints over the parent view when the switch is turned on.
ARAMAnimatedTabBarController is a module for adding animation to tab bar items.
DContainer view controller to display a set of ViewControllers in a horizontal scroll view.
EA highly customizable TabBarController component, which is inherited from UITabBarController.
SMaterial 3-style tabs and Sticky Headers rolled into one SwiftUI library
EAn headless browser to access and manipulate webpages using javascript allowing to run functional tests.
MA framework for easily testing Push Notifications, Universal Links and Routing in XCUITests.
SUI testing library for interact with network requests, stub CLLocationManager and UNUserNotificationCenter, and fine grain scrolling in table/collection/scroll views
SA testing library that automatically generates random data for testing program properties.
UAnswers to common "How do I test this with UI Testing?" questions with a working example app.
AEasiest way to create an attributed UITextView with support for multiple links, hashtags and mentions.
GMarkdown rendering library for iOS with support for tables, LaTeX, Mermaid, and code highlighting.
MA Markdown rendering component built on TextKit 2, providing smooth performance, rich customization options, and support for streaming AI-driven conversational interactions.
PParser combinator framework that supports source location tracking, backtracking prevention, and rich error messages.
PPredicateFlow is a builder that allows you to write amazing, strong-typed and easy-to-read NSPredicate.
Rpenguin: - Very easy to use Regular Expressions library with rich functionality. Features both operator =~ and method based APIs. Unit tests covered.
RSwifty regular expressions, fully tested & documented, and with correct Unicode handling.
RRichEditorView is a simple, modular, drop-in UIView subclass for Rich Text Editing.
TA standalone, flexible API that provides a full featured rich text editor for iOS applications.
CA set of textfields that can be used for One-time passwords, SMS codes, PIN codes, etc.
DDTTextField is a custom textfield with floating placeholder and error label.
FFloatingLabelTextFieldSwiftUI is a small and lightweight SwiftUI framework written in completely SwiftUI (not using UIViewRepresentable) that allows to create beautiful and customisable floating label textfield!
A custom TextField with a switchable icon which shows or hides the password and enforces good password policies.
SA beautiful and flexible text field control implementation of "Float Label Pattern".
UUITextField-Navigation adds next, previous and done buttons to the keyboard for your UITextFields. Highly customizable.
Complete training course that teaches app development through 30 hands-on projects, for free.
I
I
C
O
P
R
S
S
S
S
Y
A
A
C
C
E
G
K
L
S
S
S
S
S
S
T
X
Z
A
B
S
S
A
S
T
U
A
C
C
E
F
G
P
P
S
S
S
S
V
Y
L
L
S
S
I
M
S
A
B
F
M
S
A
A
A
C
L
R
S
B
C
C
C
E
E
E
H
K
P
S
E
B
B
B
R
S
V
T
D
E
F
I
L
S
T
C
A
C
C
M
C
D
E
J
K
Y
F
N
C
C
C
F
S
T
C
M
M
C
C
G
H
S
U
U
C
G
L
P
S
S
S
A
A
G
H
S
V
Z
A
C
J
Q
S
B
C
I
J
R
S
A
D
N
T
T
C
D
D
D
D
S
T
W
C
C
S
D
D
D
T
U
J
S
S
S
B
C
E
F
K
O
P
P
R
R
R
S
S
T
F
K
P
B
F
I
I
S
S
O
S
S
T
S
F
K
S
W
E
K
P
A
A
A
B
F
F
G
H
H
I
I
I
I
R
S
S
S
S
T
T
U
Y
Z
A
A
D
E
H
H
R
S
S
S
D
S
S
I
K
K
L
C
L
T
B
N
S
L
L
G
S
T
W
L
U
A
E
G
I
M
P
P
P
P
Y
C
M
S
X
C
M
M
M
M
A
C
C
D
H
M
N
N
O
O
P
R
S
S
S
T
S
F
O
C
D
L
P
S
U
F
I
P
A
C
D
R
V
C
I
M
A
N
I
S
M
G
S
S
T
A
D
S
S
S
S
S
T
H
L
L
S
C
C
P
T
S
S
N
S
B
C
E
M
M
N
O
P
P
S
S
T
T
V
C
H
S
T
T
V
3
A
A
C