Swift
Awesome Swift¶
Awesome | Linux | Projects | Updated |
---|---|---|---|
1075 | November 10, 2024 |
In parternship with:
Guides¶
An awesome list of Swift related guides.
Newsletter¶
- Open Source Updates for Swift Projects - A bi-weekly newsletter to give you the latest updates on popular and unknown open source projects written or related to Swift.
Official Guides¶
- API Design Guidelines - Official Swift API design guidelines.
- Apple eBook - Official Apple eBook for Swift beginners.
- Getting Started - Find information about the how to use the Swift programming language.
Style Guides¶
- Airbnb - Airbnb's Official Style Guide.
- Google - 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.
- LinkedIn - LinkedIn's Official Style Guide.
- Raywenderlich - Raywenderlich guide, a must read.
Third party Guides¶
- 30 Days of Swift - A cool 30 days tutorial.
- About Swift - A playground about the Swift language.
- Awesome Swift Education - An organized list of essential Swift Language Topics.
- Conferences.digital - Watch conference videos in a native macOS app.
- Developing iOS Apps with Swift - Stanford course by Paul Hegarty.
- Hacking With Swift - Complete training course that teaches app development through 30 hands-on projects, for free.
- Ray Wenderlich Tutorials, Videos, Podcasts and books - High quality programming tutorials.
- Swift & SwiftUI Tutorials - SwiftUI learning with Ease.
- Swift Education - A community of educators sharing materials for teaching Swift and app development.
- swift-tips - A series of useful tips by Vincent Pradeilles.
- SwiftDoc - Auto-generated documentation.
- SwiftGuide CN - A Chinese written guide.
- SwiftTips - A collection of useful tips by John Sundell.
Boilerplates¶
- iOS project template - iOS project template with fastlane lanes, Travis CI jobs and GitHub integrations of Codecov, HoundCI for SwiftLint and Danger.
- Model-View-Presenter template - A flexible and easy template created to speed up the development of your iOS application based on the MVP pattern.
- Swift Module Template - An opinionated starting point for awesome, reusable modules.
REPL¶
- Online Swift Playground - Online Swift Playground.
- SwiftFiddle - Playground for making, sharing, and embedding Swift code.
Editor Support¶
Support for your favorite editors.
Emacs¶
- swift-mode - Emacs support, including partial flycheck error support.
Google Colaboratory¶
- swift-colab - Run Swift in a browser.
Vim¶
- swift-vim - Vim runtime files.
- vim-polyglot - Language pack for vim that includes vim-swift.
Benchmark¶
- xcprofiler - Command line utility to profile compilation time.
Converters¶
- Swiftify - Objective-C to Swift online code converter and Xcode extension.
- Zolang - A DSL for generating code in multiple programming languages.
Other Awesome Lists¶
Check out apps on these projects: * Awesome iOS Interview - List of the questions that helps you to prepare for the interview. * awesome-macOS - A curated list of awesome applications, softwares, tools and shiny things for macOS. * example-ios-apps - An amazing list for people who are beginners and learning ios development and for ios developers who need any example app or feature. * open-source-ios-apps - A collaborative list of open-source iOS Apps. * open-source-mac-os-apps - Awesome list of open source applications for macOS.
Dependency Managers¶
Dependency manager software for Swift. * Accio - A SwiftPM based dependency manager for iOS & Co. with improvements over Carthage. * Carthage - A new dependency manager. * CocoaPods - The most used dependency manager. * Mint - A package manager that installs and runs Swift command line tools. * swift-package-manager - SPM is the Package Manager for the Swift Programming Language.
Patterns¶
- App Architecture - A sample Code of the App Architecture Book.
- CleanArchitectureRxSwift - Example of Clean Architecture of iOS app using RxSwift.
- Design-Patterns-In-Swift - Design Patterns.
- GoodReactor - โ๏ธ GoodReactor is a Redux-inspired Reactor framework for communication between the View Model, View Controller, and Coordinator.
- Reactant - Reactant is a reactive architecture for iOS.
- ReduxUI - Redux framework for easy use with SwiftUI.
- SimplexArchitecture - A Simple architecture that decouples state changes from SwiftUI's View
- Spin - Provides a versatile Feedback Loop implementation working with RxSwift, ReactiveSwift and Combine.
- StateViewController - Stateful UIVIewController composition โ the MVC cure for Massive View Controllers.
- SwiftUI Atom Properties - A Reactive Data-Binding and Dependency Injection Library for SwiftUI x Concurrency.
- The Composable Architecture - A library for building applications in a consistent and understandable way, with composition, testing, and ergonomics in mind.
- Viperit - Viper Framework for iOS.
Misc¶
Miscellaneous Swift related projects
* Beak - A command line interface for your Swift scripts.
* BetterCodable - Level 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.
* CodableWrappers - A Collection of PropertyWrappers to make custom Serialization of Codable Types easy.
* Fugen - A command line tool for exporting resources and generating code from your Figma files.
* MemberwiseInit - @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.
* Model2App - Turn your data model into a working CRUD app.
* Surmagic - Create XCFrameworks with ease! A Command Line Tool to create XCFramework for multiple platforms at one shot! iOS, Mac Catalyst, tvOS, macOS, and watchOS.
* SwagGen - A command line tool for generating a REST API from a Swagger spec based off Stencil templates.
* Swiftbrew - Homebrew for Swift packages.
* SwiftGen - A suite of tools to auto-generate code for various assets of your project.
* SwiftKit - Start your next Open-Source Swift Framework ๐ฆ.
* SwiftPlate - Easily generate cross platform framework projects from the command line.
* Toybox - Xcode Playground management made easy.
* Tuist - An open source command line tool to create, maintain and interact with your Xcode projects at scale.
* xc - A tool to open the Xcode project file by the specified version.
* xcbeautify - Little beautifier tool for xcodebuild.
* XcodeGen - Tool for generating Xcode projects from a YAML file and your project directory.
* xcodeproj - A library to read, update and write Xcode projects and workspaces.
Libs¶
Here you can find a list of snippets and libs for your Swift projects.
Accessibility¶
- Capable - Keep track of accessibility settings, leverage high contrast colors, and use scalable fonts to enable users with disabilities to use your app.
AI¶
Libs for AI based projects (Machine Learning, Neural Networks etc). back to top
- CoreML-Models - A collection of unique Core ML Models.
- DL4S - Automatic differentiation, fast tensor operations and dynamic neural networks from CNNs and RNNs to transformers.
- OpenAI - Swift package for OpenAI public API.
Algorithm¶
- Algorithm - A toolset for writing algorithms and probability models.
- BTree - Fast sorted collections for Swift using in-memory B-trees.
- swift-algorithm-club - Algorithms and data structures, with explanations.
- SwiftLCS - implementation of the longest common subsequence (LCS) algorithm.
Analytics¶
Analytics related libraries to easily track your app usage back to top
- Aptabase - Open Source, Privacy-First and Simple Analytics for Swift Apps.
- Tracker Aggregator - Versatile analytics abstraction layer.
- Umbrella - Analytics abstraction layer.
Animation¶
Libs to help with animation back to top
- Advance - A powerful animation framework for iOS, tvOS, and OS X.
- AnimatedGradient - Animated linear gradient library written with SwiftUI
- ChainPageCollectionView - Fancy two-level collection view layout and animation.
- CocoaSprings - Interactive spring animations for iOS/macOS.
- Comets - Animating Particles.
- Ease - Animate everything with Ease.
- EasyAnimation - A library to take the power of UIView.animateWithDuration(_:, animations:...) to a whole new level.
- Elephant - Elegant SVG animation kit.
- FlightAnimator - Natural Blocks Based Core Animation Framework.
- Gemini - Gemini is rich scroll based animation framework.
- IBAnimatable - Design and prototype UI, interaction, navigation, transition and animation for App Store ready Apps in Interface Builder with IBAnimatable.
- Interpolate - Interpolation framework for creating interactive gesture-driven animations.
- lottie-ios - An iOS library to natively render After Effects vector animations.
- Pastel - Gradient animation effect like Instagram.
- Poi - Poi makes you use card UI like tinder UI .You can use it like tableview method.
- Presentation - A library to help you to make tutorials, release notes and animated pages.
- Pulsator - Pulse animation for iOS.
- Sica - Simple Interface Core Animation. Run type-safe animation sequencially or parallelly.
- Spring - A library to simplify iOS animations.
- SpriteKitEasingSwift - Better Easing for SpriteKit.
- spruce-ios - Choreograph animations on the screen.
- Stellar - A Physical animation library.
- TheAnimation - Type-safe CAAnimation wrapper. It makes preventing to set wrong type values.
- ViewAnimator - Brings your UI to life with just one line.
- YapAnimator - Your fast and friendly physics-based animation system.
API¶
Quick libs to get access to third party API services back to top
- GitHubAPI - Implementation of GitHub REST API v3.
- GitHubRestAPISwiftOpenAPI - Scheduled generated GitHub's REST API as Swift code from OpenAPI specification.
- PXGoogleDirections - Google Directions API helper.
- RandomUserSwift - Framework to Generate Random Users - An Unofficial SDK for randomuser.me.
- reddift - reddit API wrapper.
- Swifter Twitter - Twitter framework.
- Swiftkube - Swift client for Kubernetes.
- SwiftlySalesforce - Framework for rapid development of native iOS apps that integrate with Salesforce.
- SwiftyInsta - Private and Tokenless Instagram RESTful API.
App Routing¶
Internal app routing systems. back to top
- Appz - Launch external apps and deeplink with ease.
- Crossroad - Crossroad is an URL router focused on handling Custom URL Schemes.
- LightRoute - Routing between VIPER modules.
- Linker - Lightweight way to handle internal and external deeplinks for iOS.
- MonarchRouter - Declarative state- and URL-based router. Complex automatic View Controllers hierarchy transitions. Time-tested server-side conventions.
- RxFlow - RxFlow is a navigation framework for iOS applications based on a Reactive Flow Coordinator pattern.
- SwiftCurrent - Manage complex workflows wherever Swift can be built. It comes with built-in support for UIKit, Storyboards, and SwiftUI.
- SwiftRouter - A URL Router for iOS.
- URLNavigator - Elegant URL Routing.
App Store¶
Libs to help with apple app store, in app purchases and receipt validation. back to top
- Apphud - Lightweight library to easily handle auto-renewable subscriptions with no backend required.
- AppReview - A tiny library to request review on the AppStore via SKStoreReviewController.
- InAppPurchase - A Simple, Lightweight and Safe framework for In App Purchase.
- merchantkit - A modern In-App Purchases management framework for iOS.
- SwiftyStoreKit - Lightweight In App Purchases framework.
Audio¶
Libs to work with audio back to top
- AudioKit - Powerful audio synthesis, processing and analysis, without the steep learning curve.
- AudioPlayer - A wrapper around AVPlayer with some cool features.
- AudioPlayerSwift - AudioPlayer is a simple class for playing audio (basic and advanced usage) in iOS, OS X and tvOS apps.
- Beethoven - An audio processing library for pitch detection of musical signals.
- FDSoundActivatedRecorder - Start recording when the user speaks.
- FDWaveformView - An easy way to display an audio waveform in your app.
- ModernAVPlayer - Persistence AVPlayer to resume playback after bad network connection even in background mode.
- MusicKit - A framework for composing and transforming music.
- Soundable - Soundable allows you to play sounds, single and in sequence, in a very easy way.
- SwiftAudioPlayer - Simple audio player for iOS that streams and performs realtime audio manipulations with AVAudioEngine.
- SwiftySound - Simple library that lets you play sounds with a single line of code.
- voice-overlay-ios - An overlay that gets your userโs voice permission and input as text in a customizable UI.
Augmented Reality¶
- ARHeadsetKit - High-level framework for using $5 Google Cardboard to replicate Microsoft Hololens.
- ARKit-CoreLocation - Combines the high accuracy of AR with the scale of GPS data.
- ARKit-Navigation - Navigation in augmented reality with MapKit.
- ARVideoKit - Capture & record ARKit videos, photos, Live Photos, and GIFs.
Authentication¶
Easy way to manage auth in your apps. back to top
- Cely - A Plug-n-Play login framework.
- LinkedInSignIn - Simple view controller to log in and retrieve an access token from LinkedIn.
- LoginKit - LoginKit is a quick and easy way to add a Login/Signup UX to your iOS app.
- ReCaptcha - [In]visible ReCaptcha for iOS.
- SpotifyLogin - Authenticate with the Spotify API.
Bots¶
Libs to build bot back to top
- Telegram Bot SDK - Unofficial SDK.
- Telegrammer - Open-source framework for Telegram Bots developers. It was built on top of Apple/SwiftNIO which help to demonstrate excellent performance.
Cache¶
- AwesomeCache - Manage cache easy.
- Cache - Nothing but Cache.
- CachyKit - A Caching Library that can cache JSON, Image, Zip or AnyObject with expiry date/TTYL and force refresh.
- Cachyr - A small key-value data cache for iOS, macOS and tvOS.
- Carlos - A simple but flexible cache.
- EVURLCache - If you want to make your app still works when it's offline.
- MemoryCache - Type-safe memory cache.
Chart¶
- Charts - Beautiful charts for iOS/tvOS/OSX (port of MPAndroidChart).
- ChartView - Swift package for displaying beautiful charts effortlessly
- FLCharts - Easy to use and highly customizable charts library for iOS.
- ScrollableGraphView - Adaptive scrollable graph view for iOS to visualise simple discrete datasets.
- SwiftChart - A simple line and area charting library for iOS. Supports multiple series, partially filled series and touch events.
- SwiftCharts - Highly customizable charts for iOS.
- SwiftUICharts - A charts / plotting library for SwiftUI. Works on macOS, iOS, watchOS, and tvOS and has accessibility and Localization features built in.
- TKRadarChart - A customizable radar chart.
Chat¶
Libs to get access to build chat app back to top
- Chatto - A lightweight framework to build chat applications.
- ExyteChat - SwiftUI Chat UI framework with fully customizable message cells, input view, and a built-in media picker
- InputBarAccessoryView - A simple and easily customizable InputAccessoryView for making powerful input bars with autocomplete and attachments.
- MessageKit - A community-driven replacement for JSQMessagesViewController.
- MessengerKit - A UI framework for building messenger interfaces.
- Real-time Chat with Firebase - Functional real-time chat app with Firebase Firestore using MessageKit.
Colors¶
Interesting snippets related to color management and utility. back to top
- ChromaColorPicker - An intuitive and fun iOS color picker.
- ColorKit - Advanced color manipulation for iOS.
- DynamicColor - An extension to manipulate colors easily.
- Gradients - A curated collection of splendid 180+ gradients.
- Hue - Hue is the all-in-one coloring utility that you'll ever need.
- PrettyColors - Styles and colors text in the Terminal with ANSI escape codes. Conforms to ECMA Standard 48.
- SheetyColors - An action sheet styled color picker for iOS.
- SwiftGen-Colors - A tool to auto-generate
enums
for yourUIColor
constants. - SwiftHEXColors - HEX color handling as an extension for UIColor.
- UIColor-Hex-Swift - Hex to UIColor converter.
- UIGradient - A simple and powerful library for using gradient layer, image, color.
Command Line¶
Create command line applications. back to top
- Ashen - A framework for writing terminal applications in Swift. Based on The Elm Architecture.
- Commander - Compose beautiful command line interfaces.
- Guaka - The smart and beautiful (POSIX compliant) command line framework.
- LineNoise - A zero-dependency replacement for readline.
- nef - A set of command line tools that lets you have compile time verification of your documentation written as Xcode Playground.
- Progress.swift - Add beautiful progress bars to your command line.
- Swift Argument Parser - Straightforward, type-safe argument parsing for Swift.
- SwiftCLI - A powerful framework that can be used to develop a CLI.
- Swiftline - A set of tools to help you create command line applications.
- SwiftShell - A library for creating command-line applications and running shell commands.
- SwiftyTextTable - A lightweight library to generate text tables.
Concurrency¶
Easier ways to work with concurrency. back to top
- async+ - A chainable interface for Swift 5.5's async/await.
- AsyncNinja - A complete set of concurrency and reactive programming primitives.
- AsyncQueue - A library of queues that enable sending ordered tasks from synchronous to asynchronous contexts.
- Futures - Lightweight promises for iOS, macOS, tvOS, watchOS, and server-side.
- GroupWork - Easy concurrent, asynchronous tasks.
- Hydra - Promises & Await - Write better async code.
- Queuer - A queue manager, built on top of OperationQueue and Dispatch (aka GCD).
- SwiftCoroutine - Coroutines for iOS, macOS and Linux.
- Throttler - Throttle massive number of asynchronous inputs in a single drop of one line API.
- Venice - Communicating sequential processes (CSP), Linux ready.
Currency¶
Data Management¶
CBOR¶
Concise Binary Object Representation. back to top
- CBORCoding - Easy CBOR encoding and decoding for iOS, macOS, tvOS and watchOS.
Core Data¶
No more pain with Core Data, here are some interesting libs to handle data management. back to top
- AERecord - Super awesome Core Data wrapper library for iOS.
- CloudCore - Robust CloudKit synchronization: offline editing, relationships, shared and public databases, and more.
- CoreStore - simple and elegant way to handle Core Data.
- DataKernel - DataKernel is a minimalistic wrapper around Core Data stack to ease persistence operations. No external dependencies.
- Graph - An elegant data-driven framework for Core Data.
- JSQCoreDataKit - A swifter Core Data stack.
- JustPersist - Easiest and safest way to do persistence on iOS with Core Data support out of the box.
- QueryKit - An easy way to play with Core Data filtering.
- Skopelos - A minimalistic, thread safe, non-boilerplate and super easy to use version of Active Record on Core Data.
- SugarRecord - Helps with Core Data and Realm.
CSV¶
Helpful libraries to parse from and serialize to comma-separated value representations. back to top
- CodableCSV - Read and write CSV files row-by-row or through Swift's Codable interface.
- CSVParser - Fast parser for CSV.
Firebase¶
- Ballcap - Ballcap is a database schema design framework for Cloud Firestore.
GraphQL¶
- SociableWeaver - Build declarative GraphQL queries and mutations.
JSON¶
Struggling using json data? Here are some interesting ways to handle it. back to top
- AlamofireObjectMapper - An Alamofire extension which converts JSON response data into objects using ObjectMapper.
- Alembic - Functional JSON parsing, mapping to objects, and serialize to JSON.
- Argo - JSON parsing library.
- Arrow - Elegant JSON Parsing.
- Decodable - JSON parsing.
- Elevate - JSON parsing framework that makes parsing simple, reliable and composable.
- EVReflection - Reflection based JSON encoding and decoding. Including support for NSDictionary, NSCoding, Printable, Hashable and Equatable.
- HandyJSON - A handy JSON-object serialization/deserialization library.
- Himotoki - A type-safe JSON decoding library.
- JASON - JSON parsing with outstanding performances and convenient operators.
- JSONHelper - Lightning fast JSON deserialization and value conversion library for iOS & OS X.
- JSONNeverDie - Auto reflection tool from JSON to Model, user friendly JSON encoder / decoder, aims to never die.
- ObjectMapper - JSON object mapper.
- PMJSON - JSON encoding/decoding library.
- Sextant - High performance JSONPath queries
- SwiftyJSON - A lib for JSON with error handling.
- SwiftyJSONAccelerator - macOS app to generate Swift 5 models for JSON (with Codeable).
Key Value Store¶
- Default - Modern interface to UserDefaults + Codable support.
- Defaults - Strongly-typed UserDefaults with support for Codable and key observation.
- DefaultsKit - Simple, Strongly Typed UserDefaults for iOS, macOS and tvOS.
- Prephirences - Manage application preferences, NSUserDefaults, iCloud, Keychain and more.
- SecureDefaults - A lightweight wrapper over UserDefaults & NSUserDefaults with an extra AES-256 encryption layer.
- Storez - Safe, statically-typed, store-agnostic key-value storage.
- SwiftStore - A Key-Value store backed by LevelDB.
- SwiftyUserDefaults - Cleaner, nicer syntax for NSUserDefaults.
- Zephyr - Effortlessly synchronize NSUserDefaults over iCloud.
MongoDB¶
- MongoKitten - MongoDB Connector.
- Perfect-MongoDB - A stand-alone wrapper around the mongo-c client library, enabling access to MongoDB servers.
Multi Database¶
Data management layers that involve multiple sources. back to top
- ModelAssistant - Elegant library to manage the interactions between view and model.
- PersistenceKit - Store and retrieve Codable objects to various persistence layers, in a couple lines of code!
- Shallows - Your lightweight persistence toolbox.
ORM¶
- fluent - Simple ActiveRecord implementation.
- Perfect-CRUD - CRUD is an object-relational mapping (ORM) system using Codable protocol.
Other Data¶
Other ways to persist data back to top
- CacheAdvance - A performant cache for logging systems. CacheAdvance persists log events 30x faster than SQLite.
- CoreXLSX - Excel spreadsheet (XLSX) format support.
- Disk - Delightful framework for iOS to easily persist structs, images, and data.
- EVCloudKitDao - Simplified access to CloudKit with support for subscriptions and local caching.
- KeyPathKit - KeyPathKit provides a seamless syntax to manipulate data using typed keypaths.
- LeetCode-Swift - Solutions to LeetCode interview questions.
- Pencil - Write any value to file.
- StorageManager - Safe and easy way to use FileManager as Database.
Realm¶
- Realm - Realm is a mobile database: a replacement for Core Data & SQLite.
- RealmWrapper - Safe and easy wrappers for RealmSwift.
- Unrealm - Unrealm enables you to easily store Swift native Classes, Structs and Enums into Realm.
SQL drivers¶
- MySQL Swift - MySQL client library.
- Perfect-MySQL - A stand-alone wrapper around the MySQL client library, enabling access to MySQL servers.
- Perfect-PostgreSQL - A stand-alone wrapper around the libpq client library, enabling access to PostgreSQL servers.
SQLite¶
Are you interested in storing your app data using SQLite? Here are some interesting resources. back to top
- GRDB.swift - A versatile SQLite toolkit.
- SQLite.swift - Framework wrapping SQLite3. Small. Simple. Safe.
- SQLiteDB - SQLite wrapper.
TOML¶
Tom's Obvious, Minimal Language. back to top
- TOMLDecoder - Latest TOML standard, decoded.
XML¶
If you prefer to manage XML data formatted entries, here are some helpful libs back to top
- AEXML - xml wrapper.
- CheatyXML - A powerful framework designed to manage XML easily.
- SwiftyXML - The most swifty way to deal with XML.
- SWXMLHash - Simple XML parsing.
- XMLCoder - XMLEncoder & XMLDecoder based on Codable protocols from the standard library.
- XMLMapper - A simple way to map XML to Objects.
YAML¶
ZIP¶
- Zip - Framework for zipping and unzipping files.
- Zip Foundation - A library to create, read and modify ZIP archive files.
Date¶
Handle date formatting easily. back to top
- AnyDate - Date & Time API inspired from Java 8 DateTime API.
- Chronology - Building a better date/time library.
- DateHelper - Simple date helper.
- Datez - Library for dealing with
NSDate
,NSCalendar
,NSDateComponents
, andNSTimeInterval
. - Datify - Easypeasy date functions.
- NVDate - Date extension library.
- SwiftDate - Easy NSDate Management.
- Time - Type-safe time calculations, powered by generics.
- Timepiece - Intuitive NSDate extensions.
- TrueTime.swift - Get the true current time impervious to device clock time changes (NTP library).
- TypedDate - Enhancing Date handling by enabling type-level customization of date components
Dependency Injection¶
Dependency injection libs back to top
- Cleanse - A Lightweight Dependency Injection Framework by Square.
- Corridor - A Coreader-like Dependency Injection ฮผFramework.
- Deli - Deli is an easy-to-use Dependency Injection(DI).
- DIKit - Dependency Injection Framework for Swift, inspired by KOIN.
- Dip - A simple Dependency Injection Container.
- DITranquillity - Dependency injection framework with tranquility.
- Locatable - A micro-framework that leverages Property Wrappers to implement the Service Locator pattern.
- Pure - A way to do a dependency injection without a DI container.
- SafeDI - Compile-time safe dependency injection.
- Swinject - A dependency injection framework.
- Typhoon - Dependency injection toolkit.
- Weaver - A declarative, easy-to-use and safe Dependency Injection framework.
Device¶
A collection of libs to recognize your device. back to top
- Device - Light weight tool for detecting the current device and screen size.
- Device.swift - Super-lightweight library to detect used device.
- DeviceKit - DeviceKit is a value-type replacement of UIDevice.
- Deviice - Swift library to easily check the current device and some more info about it.
- Luminous - Get everything you need to know about the device.
- Thingy - A modern device detection and querying library.
- UIDeviceComplete - UIDevice extensions that fill in the missing pieces.
Documentation¶
Generate documentation for Swift code back to top
- jazzy - Soulful docs.
- SourceDocs - Generate Markdown reference documentation that lives with your code.
Email¶
Embedded Systems¶
Build your embedded Linux projects on a RaspberryPi, BeagleBone, C.H.I.P. and other boards. back to top
- SwiftyGPIO - Interact with Linux GPIO/SPI/PWM on ARM.
Peripherals¶
Interact with specific external peripherals. back to top
Events¶
Alternatives to NSNotificationCenter, Key-Value-Observation, or delegation. back to top
- Bond - Binding framework.
- Combinative - UI event handling using Apple's combine framework.
- EmitterKit - Implementation of event emitters and listeners.
- FutureKit - Future/Promises Library.
- Katana - Write apps a la React and Redux.
- LightweightObservable - A lightweight implementation of an observable sequence that you can subscribe to.
- NoticeObserveKit - NoticeObserveKit is type-safe NotificationCenter wrapper that associates notice type with info type.
- Notificationz - Helping you own
NSNotificationCenter
by providing a simple, customizable adapter. - Observable - The easiest way to observe values.
- OneWay - State management with unidirectional data flow.
- OpenCombine - Open source implementation of Apple's Combine framework for processing values over time.
- PMKVObserver - Modern thread-safe and type-safe key-value observing.
- PromiseKit - Async promise programming lib.
- ReactiveCocoa - ReactiveCocoa (RAC) is a Cocoa framework inspired by Functional Reactive Programming. It provides APIs for composing and transforming streams of values over time.
- ReactorKit - A framework for reactive and unidirectional application architecture.
- ReSwift - Unidirectional Data Flow.
- RxSwift - Microsoft Reactive Extensions (Rx).
- Signals - Replaces delegates and notifications.
- SwiftEventBus - A publish/subscribe event bus optimized for iOS.
- Tempura - A holistic approach to iOS development, inspired by Redux and MVVM.
- Tokamak - React-like declarative API for building native UI components with easy to use one-way data binding.
- Tomorrowland - Lightweight Promises.
- TopicEventBus - Publishโsubscribe design pattern implementation framework, with ability to publish events by topic.
- VueFlux - Unidirectional Data Flow State Management Architecture - Inspired by Vuex and Flux.
- When - A lightweight implementation of Promises.
Files¶
- ExtendedAttributes - Manage extended attributes for files and folders.
- FileKit - Simple and expressive file management.
- FileProvider - FileManager replacement for Local, iCloud and Remote (WebDAV/FTP/Dropbox/OneDrive/SMB2) files for iOS/tvOS and macOS.
- KZFileWatchers - A micro-framework for observing file changes, both local and remote.
- PathKit - Effortless path operations.
- Pathos - Efficient Unix file management.
Fonts¶
A collection of font related snippets. back to top
- FontAwesome.swift - Use FontAwesome in your projects.
- FontBlaster - Programmatically load custom fonts into your iOS app.
- Inkwell - An inkwell to use custom fonts on the fly.
- IoniconsKit - Use ionicons as UIImage / UIFont in your projects.
- OcticonsKit - Use Octicons as UIImage / UIFont in your projects.
- SwiftIconFont - Fontawesome, Iconic, Ionicons, Octicon ports.
- SwiftIcons - Library for Font Icons: dripicons, emoji, font awesome, icofont, ionicons, linear icons, map icons, material icons, open iconic, state, weather.
- SwiftUI-FontIcon - Font icons for SwiftUI: font awesome, ionicons, material icons.
- SYSymbol - All the SFSymbols at your fingertips.
- UIFontComplete - Font management (System & Custom) for iOS and tvOS.
Game Engine¶
- glide engine - SpriteKit and GameplayKit based engine for making 2d games, with practical examples and tutorials.
- Raylib for Swift - 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!
- SwiftGodot - Swift bindings for the Godot game engine to build extensions or act as an api with SwiftGodotKit.
2D¶
- ImagineEngine - Blazing fasst 2D gaming engine.
Games¶
- FDChessboardView - A view controller for chess boards
- Sage - A cross-platform chess library.
Gesture¶
- ShowTime - Show off your iOS taps and gestures for demos and videos with just one line of code.
- SwiftyGestureRecognition - UIGestureRecognizers in Xcode Playgrounds.
- SwipyCell - UITableViewCell implementing swiping to trigger actions (known from the Mailbox App).
- Tactile - A safer and more idiomatic way to respond to gestures and control events.
Hardware¶
A category dedicated to hardware related libs back to top
3D Touch¶
Easy handle new 3D Touch / Force Touch feature thanks to these libs. back to top
Bluetooth¶
Wrappers around CoreBluetooth back to top
- BlueCap - Wrapper around CoreBluetooth and much more.
- Bluejay - A simple framework for building reliable Bluetooth LE apps.
- BluetoothKit - Easily communicate between iOS/OSX devices using BLE.
- RxBluetoothKit - iOS & OSX Bluetooth library for RxSwift.
- SwiftyBluetooth - Simple and reliable closure based wrapper around CoreBluetooth.
Camera¶
Awesome camera libs back to top
- CameraBackground - Show camera layer as a background to any UIView.
- CameraKit-iOS - Massively increase camera performance and ease of use in your next project.
- FDTake - Easily take a photo or video or choose from library.
- Fusuma - Instagram-like photo browser and a camera feature.
- MediaPicker - SwiftUI customizable media picker - supports camera and gallery with albums
- NextLevel - Rad Media Capture.
Barcode¶
Barcode, QR-code, other code readers back to top
- BarcodeScanner - A simple and beautiful barcode scanner view controller.
- EFQRCode - A better way to operate quick response code.
- QRCodeReader.swift - Simple QRCode reader.
Haptic Feedback¶
Libraries that involve the use of Haptic Feedback back to top
- Haptica - Easy Haptic Feedback Generator.
iBeacon¶
Interested in using iBeacon in your Swift project? Here some interesting resources. back to top
- SwiftLocation - Location & Beacon Monitoring.
Sensors¶
Manage your device sensors in a faster and easier way back to top
Images¶
An interesting list of image related libs.. back to top
- Agrume - A lemony fresh iOS image viewer.
- AlamofireImage - AlamofireImage is an image component library for Alamofire.
- APNGKit - High performance and delightful way to play with APNG format in iOS.
- ATGMediaBrowser - Image slide-show viewer with multiple predefined transition styles, and with ability to create new transitions with ease.
- AXPhotoViewer - An iPhone/iPad photo gallery viewer, useful for viewing a large (or small!) number of photos.
- BlockiesSwift - Unique blocky identicons/profile picture generator.
- Brightroom - An image editor and engine using CoreImage.
- CTPanoramaView - A library that displays spherical or cylindrical panoramas with touch or motion based controls.
- DTPhotoViewerController - A fully customizable photo viewer ViewController to display single photo or collection of photos, inspired by Facebook photo viewer.
- FacebookImagePicker - Facebook album photo picker.
- FaceCrop - Detect and center faces in your images using Appleโs Vision Framework.
- FlexibleImage - A simple way to play with images.
- FMPhotoPicker - A modern, simple and zero-dependency photo picker with an elegant and customizable image editor.
- gifu - Highly performant animated GIF support for iOS.
- GPUImage 2 - GPUImage 2 is a BSD-licensed framework for GPU-accelerated video and image processing.
- GPUImage 3 - GPUImage 3 is a BSD-licensed framework for GPU-accelerated video and image processing using Metal.
- HanekeSwift - A lightweight generic cache for iOS with extra love for images.
- Harbeth - Metal API for GPU accelerated Graphics and Video and Camera filter framework.
- ImageDetect - Detect and crop faces, barcodes and texts in image with iOS 11 Vision API.
- ImageLoader - A lightweight and fast image loader for iOS.
- ImageScout - Implementation of fastimage - supports PNG, GIF, and JPEG.
- ImageViewer - An image viewer ร la Twitter.
- ImgixSwift - Easily update image urls to be fast and responsive.
- JLStickerTextView - A 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.
- Kanvas - A iOS library for adding effects, drawings, text, stickers, and making GIFs from existing media or the camera.
- Kingfisher - Image download and caching.
- LetterAvatarKit - A UIImage extension that generates letter-based avatars.
- Lightbox - A convenient and easy to use image viewer for your iOS app.
- MapleBacon - Image download and caching library.
- MCScratchImageView - A 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.
- Moa - An image download extension of the image view for iOS, tvOS and macOS.
- Nuke - Advanced framework for loading, caching, processing, displaying and preheating images.
- PassportScanner - Scan the MRZ code of a passport and extract the first name, last name, passport number, nationality, date of birth, expiration date and personal number.
- Rough - Rough lets you draw in a sketchy, hand-drawn-like, style.
- Sharaku - Image filtering UI library like Instagram.
- Snowflake - Work with SVG.
- SwiftDraw - Library that converts SVG images to UIImage, NSImage and generates CoreGraphics source code.
- SwiftGen-Assets - A tool to auto-generate
enums
for all yourUIImages
from your Assets Catalogs. - SwiftSVG - A single pass SVG parser with multiple interface options (String, NS/UIBezierPath, CAShapeLayer, and NS/UIView).
- SwiftWebImage - ๐SwiftUI Image downloader with performant LRU mem/disk cache.
- SwiftyGif - High performance GIF engine.
- TinyCrayon - A smart and easy-to-use image masking and cutout SDK for mobile apps.
- Toucan - Image processing api.
- UIImageColors - iTunes style color fetcher for UIImage.
- YPImagePicker - Instagram-like image picker & filters for iOS.
- ZImageCropper - Crop image in any shape.
Key Value Coding¶
Libraries for key-value coding back to top
Keyboard¶
Do you want to create your own customized keyboard? Here are some interesting resources back to top
- IHKeyboardAvoiding - An elegant solution for keeping any UIView visible when the keyboard is being shown. No UIScrollView required.
- IQKeyboardManager - Codeless drop-in universal library allows to prevent issues of keyboard sliding up and cover UITextField/UITextView.
- ISEmojiView - Emoji Keyboard for iOS
- KeyboardHideManager - Codeless manager to hide keyboard by tapping on views for iOS.
- KeyboardShortcuts - Add user-customizable global keyboard shortcuts to your macOS app. Includes a Cocoa and SwiftUI component.
- Ribbon - ๐ A simple cross-platform toolbar/custom input accessory view library for iOS & macOS.
- Typist - Small, drop-in UIKit keyboard manager for iOS apps-helps manage keyboard's screen presence and behavior without notification center.
Kit¶
Libraries for coding with a simplified API back to top
- BFKit-Swift - A collection of useful classes, structs and extensions to develop Apps faster.
- C4iOS - Harnesses the power of native iOS programming with a simplified API.
- ContactsChangeNotifier - Which contacts changed outside your app? Better CNContactStoreDidChange notification: Get real changes, without the noise.
Layout¶
Libs to help you with layout. back to top
- AnimatedTabBar - A tabbar with a number of preset animations.
- BrickKit - Create complex and responsive layouts in a simple way.
- CGLayout - Powerful autolayout framework, that can manage UIView(NSView), CALayer, not rendered views and etc. Provides placeholders.
- FlexLayout - Nice and clean interface to the highly optimized Facebook yoga Flexbox implementation.
- FrameLayoutKit - This framework supports complex layouts, including chaining and nesting layout with simple and intuitive operand & DSL syntax.
- Grid - The most powerful Grid container missed in SwiftUI.
- LayoutLess - Write less UI Code.
- Neon - A powerful programmatic UI layout framework.
- PinLayout - Fast Views layouting without auto layout. No magic, pure code, full control and blazing fast. Concise syntax, intuitive, readable & chainable. [iOS/macOS/tvOS]
- Scaling Header Scroll View - A scroll view with a sticky header which shrinks as you scroll. Written with SwiftUI.
- Static - A simple static table views for iOS.
- Stevia - Elegant view layout for iOS.
Auto Layout¶
Bored of using storyboard? Give a try to declarative auto layout libs. back to top
- Bamboo - Auto Layout (and manual layout) in one line.
- Cartography - Declarative auto layout lib for your project.
- Cassowary - A linear constraint solving library using the same algorithm as AutoLayout.
- Cupcake - An easy way to create and layout UI components for iOS.
- DeviceLayout - AutoLayout can be set differently for each device.
- EasyPeasy - Auto Layout made easy.
- EasySwiftLayout - Lightweight Swift framework for Apple's Auto-Layout.
- EZLayout - An easier and faster way to code Autolayout.
- FixFlex - Declarative autolayout based on NSLayoutAnchor, swifty reimagination of VFL, alternative to UIStackView.
- HypeUI - ๐บ HypeUI is a implementation of Apple's SwiftUI DSL style based on UIKit
- KVConstraintKit - An Impressive Autolayout DSL for iOS, tvOS & OSX.
- MisterFusion - DSL for AutoLayout, supports Size Class.
- Mortar - A concise but flexible DSL for creating Auto Layout constraints and adding subviews.
- NorthLayout - Fast path to layout using Visual Format Language (VFL) with extended syntax.
- PureLayout - The ultimate API for iOS & OS X Auto Layout.
- SnapKit - Autolayout DSL for iOS & OS X.
- Swiftstraints - Powerful auto-layout framework that lets you write constraints in one line of code.
- TinyConstraints - TinyConstraints is the syntactic sugar that makes Auto Layout sweeter for human use.
Localization¶
Frameworks that helps with localizing your app back to top
- BartyCrouch - Incrementally update/translate your Strings files from Code and Storyboards/XIBs.
- CrowdinSDK - Delivers all new translations from Crowdin project to the application immediately.
- IBLocalizable - Localize your views directly in Interface Builder with IBLocalizable.
- L10n-swift - Localization of an application with ability to change language "on the fly" and support for plural forms in any language.
- LocalizationKit - Realtime dynamic localization of your app with remote management so you can manage maintain and deploy translations without resubmitting app.
- Localize - Localize apps using e.g. regular expressions in Localizable.strings.
- Localize-Swift - Localize apps using e.g. regular expressions in Localizable.strings.
- Locheck - Validate .strings and .stringsdict files for errors
- StringSwitch - Easily convert iOS .strings files to Android strings.xml format and vice versa.
- SwiftGen-L10n - A tool to auto-generate
enums
for all your Localizable.strings keys (with appropriate associated values if those strings contains printf-format placeholders like%@
). - Translatio - Super lightweight library that helps you to localize strings, even directly in storyboards.
Location¶
- AsyncLocationKit - Wrapper for Apple CoreLocation framework with Modern Concurrency Swift (async/await).
- STLocationRequest - An elegant and simple 3D Flyover Location Request Screen.
Logging¶
Utilities for writing to and reading from the device log back to top
- AEConsole - Customizable Console UI overlay with debug log on top of your iOS App.
- CleanroomLogger - Configurable and extensible high-level logging API that is simple, lightweight and performant.
- Duration - Lightweight logging library focused on reporting timings for operations.
- Gedatsu - Provide readable format about AutoLayout error console log.
- HeliumLogger - IBM's lightweight logging framework.
- Printer - A fancy logger for your next app.
- Puppy - A flexible logging library that supports multiple transports and platforms.
- QorumLogs - Logging Utility for Xcode & Google Docs.
- Rainbow - Delightful console output.
- SwiftyBeaver - Multi-platform logging during development & release.
- TinyConsole - A tiny log console to display information while using your iOS app.
- TraceLog - Dead Simple: logging the way it's meant to be! Runs on iOS, macOS, and Linux.
- Watchdog - Utility for logging excessive blocking on the main thread.
- WatchdogInspector - A logging tool to show the current framerate (fps) in the status bar of your iOS app.
- Willow - Willow is a powerful, yet lightweight logging library.
- XCGLogger - Full featured & Configurable logging utility with log levels, timestamps, and line numbers.
Maps¶
- Cluster - Easy Map Annotation Clustering.
- FlyoverKit - FlyoverKit enables you to present stunning 360ยฐ flyover views on your MKMapView with zero effort while maintaining full configuration possibilities.
- GEOSwift - Make it easier to work with geographic models and calculate intersections, overlapping, projections etc.
- LocoKit - A location and activity recording framework for iOS.
Math¶
- Arithmosophi - Set of protocols for Arithmetic and Logical operations.
- BigInt - Arbitrary-precision arithmetic.
- DDMathParser - DDMathParser makes it easy to parse a String and evaluate it as a mathematical expression.
- SigmaSwiftStatistics - A collection of functions for statistical calculation.
- Upsurge - Simple and fast matrix and vector math.
Natural Language Processing¶
Network¶
A list of libs that allow you to decrease the amount of time spent dealing with http requests. back to top
- Alamofire - Elegant networking.
- APIKit - Library for building type-safe web API client.
- Ciao - Publish and discover services using mDNS (Bonjour, Zeroconf).
- CodyFire - Powerful Codable API requests builder and manager for iOS. Based on Alamofire.
- Conduit - Robust networking for web APIs.
- Connectivity - ๐ Makes Internet connectivity detection more robust by detecting Wi-Fi networks without Internet access.
- Dots - Lightweight Concurrent Networking Framework.
- GoodNetworking - ๐ก GoodNetworking simplifies HTTP networking.
- Heimdallr.swift - Easy to use OAuth 2 library for iOS.
- Just - HTTP for Humans (a python-requests style HTTP library).
- Malibu - A networking library built on promises.
- Moya - Network abstraction layer.
- MultiPeer - A wrapper for the MultipeerConnectivity framework for automatic offline data transmission between devices.
- Netfox - A lightweight, one line setup, network debugging library.
- Netswift - A type-safe, high-level networking solution.
- OAuth2 - oauth2 auth lib.
- OAuthSwift - OAuth library for iOS.
- Pitaya - HTTP / HTTPS networking library just incidentally execute on machines.
- PMHTTP - HTTP framework with a focus on REST and JSON.
- Postal - Framework providing simple access to common email providers.
- Reachability.swift - A replacement for Apple's Reachability with closures.
- ReactiveAPI - Write clean, concise and declarative network code relying on URLSession, with the power of RxSwift. Inspired by Retrofit.
- ResponseDetective - A non-intrusive framework for intercepting any outgoing requests and incoming responses between your app and server for debugging purposes.
- RxNetworks - Network API With RxSwift + Moya + HandyJSON + Plugins.
- ShadowsocksX-NG - A fast tunnel proxy that helps you bypass firewalls.
- Siesta - Elegant abstraction for REST APIs that untangles stateful messes. An alternative to callback- and delegate-based networking.
- SolarNetwork - Elegant network abstraction layer.
- SwiftHTTP - NSURLSession wrapper.
- SwiftyOAuth - A small OAuth library with a built-in set of providers.
- TermiNetwork - ๐ A zero-dependency networking solution for building modern and secure iOS, watchOS, macOS and tvOS applications.
- TRON - Lightweight network abstraction layer, written on top of Alamofire.
- Wormholy - iOS network debugging, like a wizard ๐งโ.
HTML¶
- Fuzi - A fast & lightweight XML/HTML parser with XPath & CSS support.
- Kanna - Another XML/HTML parser.
- SwiftSoup - HTML Parser, with best of DOM, CSS, and jquery.
- WKZombie - Headless browser.
- ZMarkupParser - Helps you convert HTML strings into NSAttributedString with customized styles and tags.
Messaging Protocol¶
- CocoaMQTT - MQTT for iOS and OS X.
- Perfect-Notifications - iOS Notifications for Linux and OS X.
SOAP¶
- SOAPEngine - Generic SOAP client to access SOAP Web Services using iOS, Mac OS X, and Apple TV.
Socket¶
- BlueSocket - IBM's cross platform low level socket framework.
- BlueSSLService - SSL/TLS add-in for IBM's low level socket framework.
- DNWebSocket - Object-Oriented, Autobahn tested WebSocket Library (RFC 6455).
- RxWebSocket - Reactive WebSockets.
- Socket.IO - Socket.IO client for iOS/OS X.
- sockets - TCP, UDP; Client, Server; Linux, OS X.
- Starscream - Websockets for iOS and OSX.
- SwiftSocket - Simple TCP socket library.
- SwiftWebSocket - A high performance WebSocket client library .
Webserver¶
Would you like host a webserver in your device? Here you can find how to do it. back to top
- Ambassador - Super lightweight web framework based on SWSGI.
- Curassow - HTTP server using the pre-fork worker model.
- Embassy - Super lightweight async HTTP server library.
- Kitura - IBM's web framework and server for web services.
- Lightning - Multiplatform Single-threaded Non-blocking Web and Networking Framework.
- Noze.io - Evented I/O streams like Node.js.
- Perfect - Server-side Swift. The Perfect library, application server, connectors and example apps.
- swifter - Http server with routing handler.
- Vapor - Elegant web framework that works on iOS, OS X, and Ubuntu.
- Zewo - Server-Side Swift.
OCR¶
- SwiftOCR - Neural Network based OCR lib.
Optimization¶
PDF¶
- PDFGenerator - A simple Generator of PDF. Generate PDF from view(s) or image(s).
- SimplePDF - Create a simple PDF effortlessly.
- UXMPDFKit - A PDF viewer and annotator that can be embedded in iOS applications.
Quality¶
- AnyLint - Lint anything by combining the power of Swift & regular expressions.
- IBLinter - A linter tool for Interface Builder.
- L10nLint - A linter tool for Localizable.strings.
- swift-mod - A tool for Swift code modification intermediating between code generation and formatting.
- SwiftCop - A validation library which inspired by the clarity of Ruby On Rails Active Record validations.
- SwiftFormat - A code library and command-line formatting tool for reformatting Swift code.
- SwiftLint - A tool to enforce coding conventions.
- Swimat - Xcode plugin to format code.
- Tailor - Cross-platform static analyzer that helps you to write cleaner code and avoid bugs.
Scripting¶
- Swift for Scripting - A hand-curated collection of useful and informative scripting material.
SDK¶
Security¶
- SecurePropertyStorage - Helps you define secure storages for your properties using Swift property wrappers.
Cryptography¶
Deal with cryptography method easily back to top
- BlueCryptor - IBM's Cross Platform Crypto library.
- BlueRSA - IBM's Cross Platform RSA Crypto library.
- CryptoSwift - Crypto related functions and helpers.
- IDZSwiftCommonCrypto - A wrapper for Apple's Common Crypto library.
- JOSESwift - A framework for the JOSE standards JWS, JWE, and JWK.
- RNCryptor - CCCryptor (Apple's AES encryption) wrappers for iOS and Mac.
- SCrypto - Elegant interface to access the CommonCrypto routines.
- Siphash - Simple and secure hashing with the SipHash algorithm.
- Swift-Sodium - Interface to the Sodium library for common crypto operations for iOS and OS X.
- Themis - Multilanguage framework for making typical encryption schemes easy to use: data at rest, authenticated data exchange, transport protection, authentication, and so on.
Keychain¶
- GoodPersistence - ๐พ GoodPersistence simplifies caching data in keychain and UserDefaults. Using a property wrappers.
- keychain-swift - Helper functions for saving text in Keychain securely for iOS, OS X, tvOS and watchOS.
- KeychainAccess - Simple wrapper for Keychain that works on iOS and OS X.
- Latch - A simple Keychain Wrapper for iOS.
- SwiftKeychainWrapper - Simple static wrapper for the iOS Keychain to allow you to use it in a similar fashion to user defaults.
- Valet - Valet lets you securely store data in the Keychain without knowing a thing about how the Keychain works. Itโs easy. We promise.
Streaming¶
- HaishinKit - Camera and Microphone streaming library via RTMP, HLS for iOS, macOS, tvOS.
- Live - Demonstrate how to build a live broadcast app.
Styling¶
- Stylist - Define UI styles in a hot-loadable external yaml or json file.
- SwiftTheme - Powerful theme/skin manager for iOS 8+.
- Themes - Theme management.
SVG¶
- SVGView - SVG parser and renderer written in SwiftUI.
System¶
- BlueSignals - IBM's Cross Platform OS signal handling library.
- LaunchAtLogin - Easily add 'Launch at Login' functionality to your sandboxed macOS app.
- SystemKit - OS X system library.
Testing¶
A collection of testing frameworks. back to top
- DVR - A simple network testing framework.
- Erik - An headless browser to access and manipulate webpages using javascript allowing to run functional tests.
- Fakery - Fake data generator.
- Mussel - A framework for easily testing Push Notifications, Universal Links and Routing in XCUITests.
- Nimble - A matcher framework.
- OHHTTPStubs - A testing library designed to stub your network requests easily.
- Quick - Quick is a behavior-driven development framework.
- SBTUITestTunnel - UI testing library for interact with network requests, stub CLLocationManager and UNUserNotificationCenter, and fine grain scrolling in table/collection/scroll views
- Sizes - Test your app on different device and font sizes.
- SnapshotTest - Snapshot testing tool for iOS and tvOS.
- Spectre - BDD Framework.
- swift-testing-expectation - Create an asynchronous expectation in Swift Testing.
- SwiftCheck - A testing library that automatically generates random data for testing program properties.
- UI Testing Cheat Sheet - Answers to common "How do I test this with UI Testing?" questions with a working example app.
- XCTest - The XCTest Project, A Swift core library for providing unit test support.
Mock¶
- AutoMockable - A framework that leverages the type system to let you easily create mocked instances of your data types.
- Cuckoo - First boilerplate-free mocking framework.
- Mocker - Mock Alamofire and URLSession requests without touching your code implementation
- Mockingbird - Simplify 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.
- Mockingjay - An elegant library for stubbing HTTP requests with ease.
- Mockit - A simple mocking framework, inspired by the famous Mockito for Java.
- MockSwift - Mock Framework that uses the power of property wrappers.
Text¶
A collection of text projects. back to top
- Attributed - Modern ยตframework for attributed strings.
- AttributedTextView - Easiest way to create an attributed UITextView with support for multiple links, hashtags and mentions.
- BonMot - Beautiful, easy attributed strings for iOS.
- Croc - A lightweight Emoji parsing and querying library.
- edhita - Fully open source text editor for iOS.
- MarkdownKit - A simple and customizable Markdown Parser.
- MarkdownView - iOS Markdown view.
- MarkyMark - Converts Markdown into native views or attributed strings.
- Notepad - A fully themeable markdown editor with live syntax highlighting.
- OEMentions - An easy way to add mentions to uitextview like Facebook and Instagram.
- Parsey - Parser combinator framework that supports source location tracking, backtracking prevention, and rich error messages.
- Pluralize.swift - Great String Pluralize Extension.
- PredicateFlow - PredicateFlow is a builder that allows you to write amazing, strong-typed and easy-to-read NSPredicate.
- PrediKit - An NSPredicate DSL for iOS & OS X inspired by SnapKit.
- Regex by crossroadlabs - Very easy to use Regular Expressions library with rich functionality. Features both operator
=~
and method based APIs. Unit tests covered. - Regex by sindresorhus - Swifty regular expressions, fully tested & documented, and with correct Unicode handling.
- RichEditorView - RichEditorView is a simple, modular, drop-in UIView subclass for Rich Text Editing.
- Sprinter - A library for formatting strings.
- SwiftRichString - Elegant & Painless Attributed Strings Management Library.
- SwiftVerbalExpressions - VerbalExpressions porting.
- SwiftyAttributes - Extensions that make it a breeze to work with attributed strings.
- Tagging - A TextView that provides easy to use tagging feature for Mention or Hashtag.
- Texstyle - Texstyle allows you to format attributed strings easily.
- TextAttributes - An easier way to compose attributed strings.
- TextBuilder - Like a SwiftUI ViewBuilder, but for Text.
- TwitterTextEditor - A standalone, flexible API that provides a full featured rich text editor for iOS applications.
- VEditorKit - Lightweight and Powerful Editor Kit.
Thread¶
Threading, task-based or asynchronous programming, Grand Central Dispatch (GCD) wrapper back to top
- Async - Syntactic sugar for Grand Central Dispatch.
- AwaitKit - The ES7 Async/Await control flow.
- Each - Each is a NSTimer bridge library.
- GCDTimer - A well-tested GCD timer.
- Schedule - A missing lightweight task scheduler with an incredibly human-friendly syntax.
- SwiftyTimer - API for NSTimer.
UI¶
A collection of pre-packaged transitions & cool ui stuffs. back to top
- ActivityIndicatorView - A number of preset loading indicators created with SwiftUI.
- AECoreDataUI - Core Data driven UI.
- AGCircularPicker - Helpful component for creating a controller aimed to manage any calculated parameter.
- AMScrollingNavbar - Scrollable UINavigationBar that follows the scrolling of a UIScrollView.
- BadgeHub - Make any UIView a full fledged animated notification center. It is a way to quickly add a notification badge icon to a UIView.
- BatteryView - Simple battery shaped UIView.
- BetterSafariView - A better way to present a SFSafariViewController or start a ASWebAuthenticationSession in SwiftUI.
- BreakOutToRefresh - A playable pull to refresh view using SpriteKit.
- BulletinBoard - Generates and manages contextual cards displayed at the bottom of the screen.
- CapturePreventionKit - Provides
Label
andImageView
forscreen capture prevention
. - CircularProgress - Circular progress indicator for your macOS app.
- ClassicKit - A collection of classic-style UI components.
- ContainerController - UI Component. This is a copy swipe-panel from app: Apple Maps, Stocks
- CountryPickerView - A simple, customizable view for efficiently collecting country information in iOS apps.
- CustomSegue - Custom segue for OSX Storyboards with slide and cross fade effects.
- DeckTransition - A library to recreate the iOS 10 Apple Music now playing transition.
- DockProgress - Show progress in your macOS app's Dock icon.
- Dodo - A message bar for iOS.
- Doric Design System Foundation - Protocol oriented, type safe, scalable design system foundation framework for iOS.
- DropDown - A Material Design drop down for iOS.
- Elissa - Displays a notification on top of a UITabBarItem or any UIView anchor view to reveal additional information.
- EstMusicIndicator - Music play indicator like iTunes.
- Family - A child view controller framework that makes setting up your parent controllers as easy as pie.
- FAQView - An easy to use FAQ view for iOS.
- Fashion - Fashion accessories and beauty tools to share and reuse UI styles.
- FlagKit - Beautiful flag icons for usage in apps and on the web.
- FlexibleHeader - A container view that responds to scrolling of UIScrollView.
- FloatRatingView - Floating rating system.
- Fluid Slider - A slider widget with a popup bubble displaying the precise value selected.
- GaugeKit - Customizable gauges. Easy reproduce Apple's style gauges.
- GMStepper - A stepper with a sliding label in the middle.
- GradientProgressBar - An animated gradient progress bar.
- GRMustache - Flexible Mustache templates.
- GrowingTextView - UITextView that supports auto growing, placeholder and length limit.
- HGCircularSlider - A custom reusable circular slider control for iOS application.
- HidesNavigationBarWhenPushed - A library, which adds the ability to hide navigation bar when view controller is pushed via hidesNavigationBarWhenPushed flag.
- HorizontalDial - A horizontal scroll dial like Instagram.
- HPParallaxHeader - Simple parallax header for UIScrollView.
- IGColorPicker - A customizable color picker for iOS.
- InstantSearch iOS - A library of widgets and helpers to build instant-search features on iOS.
- KALoader - Beautiful animated placeholders for showing loading of data.
- KMNavigationBarTransition - A drop-in universal library helps you to manage the navigation bar styles and makes transition animations smooth between different navigation bar styles while pushing or popping a view controller for all orientations.
- KMPlaceholderTextView - A UITextView subclass that adds support for multiline placeholder.
- LeeGo - Declarative, configurable & highly reusable UI development as making Lego bricks.
- LicensePlist - A command-line tool that automatically generates a Plist of all your dependencies.
- LiquidLoader - Spinner loader components with liquid animation.
- LoadingShimmer - An easy way to add a shimmering effect to any view with just one line of code. It is useful as an unobtrusive loading indicator.
- Macaw - Powerful and easy-to-use vector graphics library with SVG support.
- Magnetic - SpriteKit Floating Bubble Picker (inspired by Apple Music).
- Mandoline - An iOS picker view to serve all your 'picking' needs.
- MantleModal - A simple modal resource that uses a UIScrollView to allow the user to close the modal by dragging it down.
- Material - Express your creativity with Material, an animation and graphics framework for Google's Material Design and Apple's Flat UI.
- Material Components for iOS - Modular and customizable Material Design UI components.
- MaterialKit - Material design components.
- MediaBrowser - Simple iOS photo and video browser with optional grid view, captions and selections.
- MPParallaxView - Apple TV Parallax effect.
- MultiSelectSegmentedControl - UISegmentedControl remake that supports selecting multiple segments, vertical stacking, combining text and images.
- MultiSlider - UISlider clone with multiple thumbs and values, range highlight, optional snap intervals, optional value labels, either vertical or horizontal.
- MXParallaxHeader - Simple parallax header for UIScrollView.
- MZFormSheetPresentationController - Provides an alternative to the native iOS UIModalPresentationFormSheet, adding support for iPhone and additional opportunities to setup controller size and feel form sheet.
- NeumorphismKit - Neumorphism framework for UIKit.
- NextGrowingTextView - The next in the generations of 'growing textviews' optimized for iOS 7 and above.
- NVActivityIndicatorView - Collection of nice loading animations.
- OverlayContainer - OverlayContainer makes it easier to develop overlay based interfaces, such as the one presented in the Apple Maps or Stocks apps.
- Popovers - A library to present popovers. Simple, modern, and highly customizable. Not boring!
- Preferences - Add a preferences window to your macOS app in minutes.
- ProgressIndicatorView - A progress indicator view library written in SwiftUI.
- PullToDismiss - You can dismiss modal viewcontroller by pulling scrollview or navigationbar.
- RangeSeekSlider - A customizable range slider like a UISlider for iOS.
- Reel search - Option list managed as a reel.
- RetroProgress - Retro looking progress bar straight from the 90s.
- SectionedSlider - Control Center Slider.
- SelectionDialog - Simple selection dialog.
- ShadowView - Make shadows management easy on UIView.
- Shiny - Iridescent Effect View (inspired by Apple Pay Cash).
- ShowSomeProgress - Animated Progress and Activity Indicators for iOS apps.
- SKPhotoBrowser - Simple PhotoBrowser/Viewer inspired by facebook, twitter photo browsers.
- Spots - Spots is a view controller framework that makes your setup and future development blazingly fast.
- SpreadsheetView - Full configurable spreadsheet view user interfaces for iOS applications.
- StarryStars - Display & edit ratings, fully customizable from interface builder.
- StepProgressView - Step-by-step progress view with labels and shapes. A good replacement for UIActivityIndicatorView and UIProgressView.
- SweetCurtain - Really sweet and easy bottom pullable sheet implementation. You can find a similar implementation in applications like Apple Maps, Find My, Stocks, etc.
- SwiftUISkia - Skia based 2d graphics SwiftUI rendering library, based on Rust to implement software rasterization to perform rendering
- SwiftyUI - High performance and lightweight UIView, UIImage, UIImageView, UIlabel, UIButton and more.
- TagListView - Simple but highly customizable iOS tag list view.
- Toaster - Notification toasts.
- Twinkle - Easy way to make elements in your iOS app twinkle.
- UIPheonix - Easy, flexible, dynamic and highly scalable UI framework + concept for reusable component/control-driven apps.
- UltraDrawerView - Lightweight, fast and customizable Drawer View implementation identical to Apple Maps, Stocks and etc.
- URLEmbeddedView - Automatically caches the object that is confirmed the Open Graph Protocol, and displays it as URL embedded card.
- Windless - Windless makes it easy to implement invisible layout loading view.
- WSTagsField - An iOS text field that represents different Tags.
- YMTreeMap - Treemap / Heatmap layout engine, based on Squarified.
- YNSearch - Awesome fully customizable search view like Pinterest.
Alert¶
Libs to display alert, action sheet, notification, popup. back to top
- Alertift - Modern, easy UIAlertController wrapper.
- Alerts Pickers - Advanced usage of UIAlertController with TextField, DatePicker, PickerView, TableView and CollectionView.
- ALRT - An easier constructor for UIAlertController. Present an alert from anywhere.
- AwaitToast - ๐ An async waiting toast with basic toast. Inspired by facebook posting toast.
- CDAlertView - Highly customizable alert/notification/success/error/alarm popup.
- CFNotify - A customizable framework to create draggable alert views.
- EZAlertController - Easy UIAlertController.
- FullscreenPopup - Present any popup above NavigationBar in SwiftUI
- GSMessage - A simple style messages/notifications for iOS 7+.
- Kamagari - Simple UIAlertController builder class.
- Loaf - A simple framework for easy iOS Toasts.
- MijickPopupView - Present any popup in no time. Keep your code clean.
- NotificationBanner - The easiest way to display highly customizable in app notification banners in iOS.
- PMAlertController - PMAlertController is a great and customizable substitute to UIAlertController.
- PopupDialog - A simple, customizable popup dialog. Replaces UIAlertController alert style.
- PopupView - Toasts and popups library written with SwiftUI.
- SCLAlertView - Animated Alert view.
- Sheet - Actionsheet with navigation features such as the Flipboard App.
- SPAlert - Native popup from Apple Music & Feedback in AppStore. Contains Done & Heart presets.
- StatusAlert - Display Apple system-like self-hiding status alerts without interrupting user flow.
- SweetAlert - Alert system.
- Swift-Prompts - Design custom prompts with a great scope of options to choose from.
- SwiftEntryKit - A simple and versatile pop-up presenter.
- SwiftMessages - A very flexible message bar for iOS.
- SwiftOverlays - various popups and notifications.
- Toast-Swift - An easy to use library to create iOS 14 and newer style toasts.
- XLActionController - Fully customizable and extensible action sheet controller.
- Zingle - An alert will display underneath your UINavigationBar.
Blur¶
- VisualEffectView - UIVisualEffectView subclass with tint color.
Button¶
- AHDownloadButton - Customizable download button with progress and transition animations. It is based on Apple's App Store download button.
- DOFavoriteButton - Cute Animated Button.
- ExpandableButton - Customizable and easy to use expandable button.
- FloatingButton - Easily customizable floating button menu created with SwiftUI.
- Floaty - Floating Action Button for iOS.
- IGStoryButtonKit - Easy-to-use button with rich animation inspired by instagram stories.
- LGButton - A fully customisable subclass of the native UIControl which allows you to create beautiful buttons without writing any line of code.
- LTHRadioButton - A radio button with a pretty animation.
- MultiToggleButton - A UIButton subclass that implements tap-to-toggle button text (like the camera flash and timer buttons).
- NFDownloadButton - Revamped Download Button. It's kinda a reverse engineering of Netflix's app download button.
- PMSuperButton - A powerful UIButton with super powers, customizable from Storyboard.
- RadioGroup - The missing iOS radio buttons group.
- SwiftShareBubbles - Animated social share buttons control for iOS.
- TransitionButton - UIButton subclass for loading and transition animation.
Calendar¶
- CalendarKit - Fully customizable calendar day view.
- CalendarView - Calendar Component, It features both vertical and horizontal layout (and scrolling) and the display of native calendar events.
- DateTimePicker - A nicer iOS UI component for picking date and time.
- ElegantCalendar - The elegant full screen calendar missed in SwiftUI.
- HorizonCalendar - A declarative, performant, iOS calendar UI component that supports use cases ranging from simple date pickers all the way up to fully-featured calendar apps.
- JTAppleCalendar - UI calendar handler.
- KVKCalendar - A most fully customization calendar for Apple platforms ๐
- OBCalendar - OBCalendar is designed for simplicity and customization, it allows you to build beautiful and functional calendar interfaces effortlessly.
- Workaholic - A GitHub-like work contribution timeline.
Cards¶
- CardNavigation - A navigation controller that displays its view controllers as an interactive stack of cards.
- CardParts - A reactive, card-based UI framework built on UIKit for iOS developers.
- VerticalCardSwiper - A marriage between the Shazam Discover UI and Tinder, built with UICollectionView.
Form¶
- Carbon - ๐ด A declarative library for building component-based user interfaces in UITableView and UICollectionView.
- Eureka - Elegant iOS form builder.
- FDBarGauge - Simulate the level indicator on an audio mixing board
- Former - A fully customizable library for easy creating UITableView based form.
- ObjectForm - A simple yet powerful library to build form for your class models.
- SwiftyFORM - Forms that can be validated.
HUD¶
- EZLoadingActivity - Lightweight loading activity HUD.
- GradientLoadingBar - An animated gradient loading bar.
- KRProgressHUD - A beautiful and customizable progress HUD.
- PKHUD - Reimplementation of the Apple HUD.
Label¶
- ActiveLabel - UILabel drop-in replacement supporting Hashtags (#), Mentions (@) and URLs (http://).
- Atributika - TConvert text with HTML tags, links, hashtags, mentions into NSAttributedString. Make them clickable with UILabel drop-in replacement.
- CountdownLabel - Simple countdown UILabel with morphing animation, and some useful function.
- GlitchLabel - Glitching UILabel for iOS.
- IncrementableLabel - An UILabel subclass to (de)increment numbers in an UILabel.
- KDEDateLabel - An UILabel subclass that updates itself to make time ago's format easier.
- LTMorphingLabel - Graceful morphing effects for UILabel.
- Nantes - TTTAttributedLabel replacement.
- TriLabelView - A triangle shaped corner label view for iOS.
Menu¶
- AKSwiftSlideMenu - Slide Menu (Drawer).
- CircleMenu - CircleMenu is a simple, elegant UI menu with a circular layout and material design animations.
- ENSwiftSideMenu - Sliding side menu.
- FanMenu - Menu with a circular layout based on Macaw.
- FlowingMenu - Interactive view transition to display menus with flowing and bouncing effects.
- GuillotineMenu - Guillotine style menu.
- HHFloatingView - An easy to use and setup floating view for your app.
- InteractiveSideMenu - Customizable iOS Interactive Side Menu.
- KWDrawerController - Drawer view controller that easy to use.
- MenuItemKit -
UIMenuItem
with image and block (closure) support. - Pagemenu - Pagination enabled view controller.
- PagingKit - PagingKit provides customizable menu UI.
- Panels - Panels is a framework to easily add sliding panels to your application.
- Parchment - A paging view controller with a highly customizable menu, built on UICollectionView.
- PopMenu - ๐ A cool and customizable popup style action sheet for iOS.
- SegmentIO - Animated top/bottom segmented menu for iOS.
- SideMenu - Simple side menu control for iOS inspired by Facebook. Right and Left sides. No coding required.
- SlideMenuControllerSwift - iOS Slide Menu View based on Google+, iQON, Feedly, Ameba iOS app.
- SwipeMenuViewController - Swipable tab and menu View and ViewController.
- XLPagerTabStrip - Android PagerTabStrip for iOS.
- YNDropDownMenu - Adorable iOS drop down menu.
Pagination¶
- CHIPageControl - A set of cool animated page controls to replace boring UIPageControl.
- FlexiblePageControl - A flexible UIPageControl like Instagram.
- iPages - Quickly implement swipable page views in SwiftUI ๐.
- Pageboy - A simple, highly informative page view controller.
- PageController - Infinite paging controller.
- SlideController - It 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.
Payment¶
- AnimatedCardInput - Customisable and easy to use Credit Card UI.
- Caishen - A Payment Card UI & Validator for iOS.
- iCard - Bank Card Generator using SnapKit DSL.
- MFCard - Easily integrate Credit Card payments in iOS App.
- TPInAppReceipt - A lightweight, pure-Swift library for reading and validating Apple In App Purchase Receipt locally.
Permissions¶
- AREK - AREK is a clean and easy to use wrapper over any kind of iOS permission.
- Permission - A unified API to ask for permissions on iOS.
- SPPermission - Simple request permission with native UI and interactive animation.
Scroll Bars¶
- DMScrollBar - Best in class customizable ScrollBar for any type of ScrollView with Decelerating, Bounce & Rubber band mechanisms and many many more.
StackView¶
- StackViewController - Simplify the use of UIStackView.
- TZStackView - An iOS9 UIStackView layout component re-implemented for iOS 7 and 8.
Switch¶
- MJMaterialSwitch - A Customizable Switch UI for iOS, Inspired from Google's Material Design.
- paper-switch - RAMPaperSwitch is a material design UI module which paints over the parent view when the switch is turned on.
- Switch - A switch control with full Interface Builder support.
Tab¶
- Adaptive Tab Bar - Adaptive tab bar.
- Animated Tab Bar - RAMAnimatedTabBarController is a module for adding animation to tab bar items.
- CardTabBar - Adding animation to iOS tabbar items.
- CircleBar - A fun, easy-to-use tab bar navigation controller for iOS.
- ColorMatchTabs - Interesting way to display tabs.
- DTPagerController - Container view controller to display a set of ViewControllers in a horizontal scroll view.
- ESTabBarController - A highly customizable TabBarController component, which is inherited from UITabBarController.
- HHTabBarView - A lightweight customized tab bar view.
- PolioPager - A flexible TabBarController with search tab like SNKRS.
- SwiftUIMaterialTabs - Material 3-style tabs and Sticky Headers rolled into one SwiftUI library
- TabBar - Highly customizable tab bar for SwiftUI applications.
- Tabman - A powerful paging view controller with indicator bar.
- TabPageViewController - Paging view controller and scroll tab view.
Template¶
- Stencil - Simple and powerful template language.
- SwiftCssParser - Extensible CSS parser.
- Temple - ๐๏ธ Most advanced project and file templates.
TextField¶
- CBPinEntryView - Easy to use, very customisable pin entry.
- CHIOTPField - A set of textfields that can be used for One-time passwords, SMS codes, PIN codes, etc.
- DTTextField - DTTextField is a custom textfield with floating placeholder and error label.
- FloatingLabelTextFieldSwiftUI - FloatingLabelTextFieldSwiftUI is a small and lightweight SwiftUI framework written in completely SwiftUI (not using UIViewRepresentable) that allows to create beautiful and customisable floating label textfield!
- HTYTextField - A UITextField with bouncy placeholder.
- iTextField โจ๏ธ - A fully-wrapped
UITextField
that works entirely in SwiftUI ๐ฆ . - PasswordTextField - A custom TextField with a switchable icon which shows or hides the password and enforces good password policies.
- SkyFloatingLabelTextField - A beautiful and flexible text field control implementation of "Float Label Pattern".
- StyledTextKit - Declarative building and fast rendering attributed string library.
- TextFieldCounter - UITextField character counter with lovable UX.
- TextFieldEffects - Several ready to use effects for UITextFields.
- UITextField-Navigation - UITextField-Navigation adds next, previous and done buttons to the keyboard for your UITextFields. Highly customizable.
- VKPinCodeView - Simple and elegant UI component for input PIN.
Transition¶
- BubbleTransition - Bubble transition in an easy way.
- Cards XI - Awesome iOS 11 AppStore's Card Views.
- EasyTransitions - A simple way to create custom interactive UIViewController transitions.
- Hero - Elegant transition library for iOS.
- ImageTransition - ImageTransition is a library for smooth animation of images during transitions.
- Jelly - Jelly provides custom view controller transitions with just a few lines of code.
- LiquidSwipe - Liquid navigation animation
- MijickNavigattie - Easy navigation with SwiftUI.
- MusicPlayerTransition - Custom interactive transition like Apple Music iOS App.
- NavigationTransitions - Pure SwiftUI Navigation transitions.
- PanSlip - Use PanGesture to dismiss view on UIViewController and UIView.
- PinterestSwift - Pinterest style transition.
- SamuraiTransition - Swift based library providing a collection of ViewController transitions featuring a number of neat cutting animations.
- SPLarkController - Custom transition between two controller. Translate to top.
- SPStorkController - Now playing controller from Apple Music. Customisable height.
- StarWars.iOS - Transition animation to crumble view-controller into tiny pieces.
- Transition - Easy interactive interruptible custom ViewController transitions.
3D¶
- Insert3D - The fastest ๐ way to embed a 3D model.
UICollectionView¶
- ASCollectionView - Lightweight custom collection view inspired by Airbnb.
- AZCollectionViewController - Easy way to integrate pagination with dummy views in CollectionView, make Instagram Discover withing minutes.
- Blueprints - A framework that is meant to make your life easier when working with collection view flow layouts.
- BouncyLayout - Collection view layout that makes your cells bounce.
- CardsLayout - Nice card-designed custom CollectionView layout.
- CenteredCollectionView - A lightweight UICollectionViewLayout that pages and centers it's cells.
- CheckmarkCollectionViewCell - UICollectionViewCell with checkbox when it isSelected and empty circle when not - like Photos.app 'Select' mode.
- CollectionViewShelfLayout - A UICollectionViewLayout subclass displays its items as rows of items similar to the App Store Feature tab without a nested UITableView/UICollectionView hack.
- Drag and Drop UICollectionView - Dragging and Dropping data across multiple UICollectionViews.
- FSPagerView - Elegant Screen Slide Library. It is extremely helpful for making Banner ViewใProduct ShowใWelcome/Guide PagesใScreen/ViewController Sliders.
- Gliding Collection - Gliding Collection is a smooth, flowing, customizable decision for a UICollectionView Controller.
- GoodProvider - ๐ UITableView and UICollectionView provider to simplify basic scenarios of showing the data.
- GravitySlider - Beautiful alternative to the standard UICollectionView flow layout.
- ShelfView-iOS - iOS custom view to display books on shelf.
- SimpleSource - Easy and type-safe iOS table and collection views.
- SwiftSpreadsheet - Fully customizable spreadsheet CollectionViewLayout.
- TagCellLayout - UICollectionView layout for Tags with Left, Center & Right alignments.
- UICollectionViewSplitLayout - UICollectionViewSplitLayout makes collection view more responsive.
- VegaScroll - Lightweight animation flowlayout for UICollectionView.
UITableView¶
- AZTableViewController - Elegant and easy way to integrate pagination with placeholder views.
- CollapsibleTableSectionViewController - A library to support collapsible sections in a table view.
- DGElasticPullToRefresh - Elastic pull to refresh.
- DiffableDataSources - ๐พ A library for backporting UITableView/UICollectionViewDiffableDataSource.
- DTTableViewManager - Protocol-oriented UITableView management, powered by generics and associated types.
- ExpandableCell - Fully refactored YNExapnadableCell with more concise, bug free. Easiest usage of expandable & collapsible cell for iOS. You can customize expandable UITableViewCell whatever you like. ExpandableCell is made because insertRows and deleteRows is hard to use. Just inheirt ExpandableDelegate.
- FDTextFieldTableViewCell - Adds a UITextField to the cell and places it correctly.
- folding-cell - Folding cell transition.
- GridView - Can be customized as a time table, spreadsheet, paging and more.
- HGPlaceholders - Nice library to show placeholders and Empty States for any UITableView/UICollectionView in your project.
- OKTableViewLiaison - Framework to help you better manage UITableViews.
- ParallaxHeader - Simple way to add parallax header to UIScrollView/UITableView.
- Persei - Animated top menu for UITableView / UICollectionView / UIScrollView.
- PullToRefreshSwift - PullToRefresh library.
- QuickTableViewController - A simple way to create a UITableView for settings.
- ReverseExtension - UITableView extension that enables the insertion of cells the from bottom of a table view.
- SelectionList - Simple single-selection or multiple-selection checklist, based on UITableView.
- Shoyu - Easier way to represent the structure of UITableView.
- SwiftyComments - Nested hierarchy of expandable/collapsible cells to easily build elegant discussion threads.
- SwipeCellKit - Swipeable UITableViewCell based on the stock Mail.app.
- WLEmptyState - A component that lets you customize the view when the dataset of UITableView is empty.
- YNExpandableCell - Awesome expandable, collapsible tableview cell for iOS.
Walkthrough¶
- AwesomeSpotlightView - Create tutorial or coach tour.
- BWWalkthrough - A class to build custom walkthroughs for your iOS App.
- ConcentricOnboarding - SwiftUI library for a walkthrough or onboarding flow with tap actions.
- Gecco - Spotlight view for iOS.
- Instructions - A library to create app walkthroughs and guided tours.
- OnboardKit - Customisable user onboarding for your iOS app.
- PaperOnboarding - PaperOnboarding is a material design UI slider.
- SuggestionsKit - Library for educating users about features in app.
- SwiftyOnboard - An iOS framework that allows developers to create beautiful onboarding experiences.
- SwiftyWalkthrough - The easiest way to create a great walkthrough experience in your apps.
Utility¶
Some interesting utilities to help you in your projects back to top
- AlexaSkillsKit - Develop custom Alexa Skills.
- ApplyStyleKit - Elegantly, Apply style to UIKit using Method Chain.
- Basis - Pure Declarative Programming.
- Bow - Companion library for Typed Functional Programming.
- CallbackURLKit - Implementation of x-callback-url (Inter app communication).
- Closures - Swifty closures for UIKit and Foundation.
- Codextended - Extensions giving Codable API type inference super powers.
- Curry - Function currying.
- Delegated - Closure-based delegation without memory leaks.
- DifferenceKit - ๐ป A fast and flexible O(n) difference algorithm framework.
- Differific - A fast and convenient diffing framework.
- Dollar - Similar to Lo-Dash or Underscore in Javascript.
- DuctTape - ๐ฆ KeyPath dynamicMemberLookup based syntax sugar for Swift.
- EtherWalletKit - Ethereum Wallet Toolkit for iOS - You can implement Ethereum wallet without a server and blockchain knowledge.
- ExceptionCatcher - Catch Objective-C exceptions.
- EZSwiftExtensions - How standard types and classes were supposed to work.
- FlagAndCountryCode - FlagAndCountryCode provides phone codes and flags for every country. Works on UIKit and SwiftUI
- FluentQuery - Powerful and easy to use Query Builder.
- GoodExtensions-iOS - ๐ GoodExtensions is a collection of useful and frequently used extensions.
- GoodUIKit - ๐ GoodUIKit is an extensions library filled with reusable UI snippets for faster and more efficient development.
- Highlighter - Highlight whatever you want! Highlighter will magically find UI objects such as UILabel, UITextView, UITexTfield, UIButton in your UITableViewCell or other Class.
- LifetimeTracker - Surface retain cycle / memory issues right as you develop your application.
- Lumos - An easy-to-use API for Objective-C runtime functions.
- ObjectiveKit - API for Objective C runtime functions.
- OpenSourceController - The simplest way to display the librarie's licences used in your application.
- Percentage - Make percentages more readable and type-safe.
- Periphery - A tool to identify unused code in Swift projects.
- Playbook - ๐A library for isolated developing UI components and automatically snapshots of them.
- PrivacyFlash Pro - Generate a privacy policy for your Swift iOS app from its code.
- protobuf-swift - ProtocolBuffers.
- Prototope - Library of lightweight interfaces for prototyping, bridged to JS.
- R.swift - Tool to get strong typed, autocompleted resources like images, cells and segues.
- RandomKit - Random data generation.
- ReadabilityKit - Preview extractor for news, articles and full-texts.
- ResourceKit - Enable autocomplete use resources.
- Result - Type modelling the success/failure of arbitrary operations.
- Rugby - ๐ Cache CocoaPods for faster rebuild and indexing Xcode project.
- Runes - Functional operators: flatMap, map, apply.
- Solar - Calculate sunrise and sunset times given a location.
- SpriteKit+Spring - SpriteKit API reproducing UIView's spring animations with SKAction.
- Sugar - Something sweet that goes great with your Cocoa.
- swift-protobuf - A plugin and runtime library for using Google's Protocol Buffer.
- SwiftAutoGUI - Used to programmatically control the mouse & keyboard. A library for manipulating macOS with Swift.
- SwiftBoost - Collection of Swift-extensions to boost development process.
- Swiftbot - run swift code on slack.
- SwifterSwift - A handy collection of more than 500 native extensions to boost your productivity.
- SwiftGen-Storyboard - A tool to auto-generate
enums
for all your Storyboards, Scenes and Segues constants + appropriate convenience accessors. - SwiftLinkPreview - It makes a preview from an url, grabbing all information such as title, relevant texts and images.
- SwiftPlantUML - A command-line tool and Swift Package to generate UML class from your Swift source code. Also available as Xcode Source Editor Extension.
- SwiftRandom - A tiny generator of random data.
- SwiftRater - A utility that reminds your iPhone app's users to review the app.
- SwiftTweaks - Tweak your iOS app without recompiling.
- Swiftx - Functional data types and functions for any project.
- SwiftyUtils - All the reusable code that we need in each project.
- Swiftz - Functional programming.
- Then - Super sweet syntactic sugar for initializers.
- TSAO - Type-Safe Associated Objects.
- URLQueryItemEncoder - An Encoder for encoding any Encodable value into an array of URLQueryItem.
- UTIKit - an UTI (Uniform Type Identifier) wrapper.
- Vaccine - Make your apps immune to recompile-decease.
- WeakableSelf - A micro-framework to encapsulate [weak self] and guard statements within closures.
- WhatsNew - Showcase new features after an app update similar to Pages, Numbers and Keynote.
- WhatsNewKit - Showcase your awesome new app features.
- XestiMonitors - An extensible monitoring framework.
- ZamzamKit - A collection of micro utilities and extensions for Standard Library, Foundation and UIKit.
Validation¶
A collection of validation libs. back to top
- ATGValidator - Rule based validation framework with form and card validation support for iOS.
- FormValidatorSwift - Allows you to validate inputs of text fields and text views in a convenient way.
- Input Mask - Pattern-based user input formatter, parser and validator for iOS.
- RxValidator - Simple, Extensible, Flexible Validation Checker.
- SwiftValidator - A rule-based validation library.
- SwiftValidators - String validation for iOS (inspired by validator.js).
- ValidatedPropertyKit - Easily validate your Properties with Property Wrappers ๐ฎ.
Phone Numbers¶
Libs to manage phone numbers. back to top
- NKVPhonePicker - An UITextField subclass to simplify country code's picking.
- PhoneNumberKit - Framework for parsing, formatting and validating international phone numbers. Inspired by Google's libphonenumber.
Version Manager¶
- AppVersionMonitor - Monitor iOS app version easily.
- Siren - Notify users when a new version of your app is available and prompt them to upgrade.
- Version - Version represents and compares semantic versions.
- Version Tracker Swift - Versions tracker for your iOS, OS X, and tvOS app.
Video¶
- BMPlayer - A video player for iOS, based on AVPlayer, support the horizontal, vertical screen. support adjust volume, brigtness and seek by slide.
- Cabbage - A video composition framework build on top of AVFoundation.
- Kitsunebi - Overlay alpha channel video animation player view using OpenGLES.
- MMPlayerView - Custom AVPlayerLayer on view and transition player with good effect like YouTube and Facebook.
- MobilePlayer - A powerful and completely customizable media player for iOS.
- NextLevelSessionExporter - Export and transcode media.
- Player - iOS video player, simple drop in component for playing and streaming media.
- PlayerView - Easy to use video player using a UIView, manage rate of reproduction, screenshots and callbacks-delegate for player state.
- PryntTrimmerView - Trim and crop videos.
- SwiftFFmpeg - A wrapper for the FFmpeg C API.
- SwiftVideoBackground - Easy to Use UIView subclass for implementating a video background.
- Swifty360Player - iOS 360-degree video player streaming from an AVPlayer.
- YiVideoEditor - a library for rotating, cropping, adding layers (watermark) and as well as adding audio (music) to the videos.
Serverless¶
- Azure Functions for Swift - Swift Worker for Azure Functions.
Contributing¶
Please take a quick look at the contribution guidelines first. If you see a package or project here that is no longer maintained or is not a good fit, please submit a pull request to improve this file. Thank you to all contributors; you rock!!