|:penguin:||991||August 23, 2019|
- Editor Support
- Other Awesome Lists
- Dependency Managers
- App Routing
- App Store
- Augmented Reality
- Command Line
- Data Management
- Dependency Injection
- Embedded Systems
- Game Engine
- Key Value Coding
- Natural Language Processing
- Version Manager
An awesome list of Swift related guides.
- Indie iOS Focus Weekly - Curated weekly iOS newsletter.
- Swift Developments - A weekly curated newsletter containing for people interested in designing and developing their own iOS, watchOS and Apple TV apps.
- Swift Newsletter by Natasha the Robot (discontinued, look the archive) - Curated newsletter.
- Swift Weekly Brief - A multi author curated newsletter.
- 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.
- 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 Education - A community of educators sharing materials for teaching Swift and app development.
- Swift Web Weekly - A free, hand-picked list of the best links for Swift Web Developers, every Monday in your inbox.
- 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.
- The Swift Web Developer - A publication for Swift Web Developers.
- whats-new-in-swift-4 - An Xcode playground showcasing the new features in Swift 4.0.
- iOS project template - iOS project template with fastlane lanes, Travis CI jobs and GitHub integrations of Codecov, HoundCI for SwiftLint and Danger.
- Swift 3 VIPER Module Template - Xcode template for VIPER Architecture.
- Swift Module Template - An opinionated starting point for awesome, reusable modules.
- Online Swift Playground - Online Swift Playground.
Support for your favorite editors.
- swift-mode - Emacs support, including partial flycheck error support.
- xcprofiler - Command line utility to profile compilation time.
- Swiftify - Objective-C to Swift online code converter and Xcode extension.
- Zolang :penguin: - 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.
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.
- 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.
- Reactant - Reactant is a reactive architecture for iOS.
- Viperit - Viper Framework for iOS.
Miscellaneous Swift related projects
- Beak - A command line interface for your Swift scripts.
- Model2App - Turn your data model into a working CRUD app.
- SwagGen :penguin: - A command line tool for generating a REST API from a Swagger spec based off Stencil templates.
- swift-compiler-crashes - A collection of test cases crashing the compiler.
- 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.
- 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.
Here you can find a list of snippets and libs for your Swift projects.
- Capable - Track accessibility features to improve your app for people with certain disabilities.
Libs for AI based projects (Machine Learning, Neural Networks etc). back to top
- Algorithm - A toolset for writing algorithms and probability models.
- swift-algorithm-club - Algorithms and data structures, with explanations.
- SwiftLCS :penguin: - implementation of the longest common subsequence (LCS) algorithm.
Analytics related libraries to easily track your app usage back to top
- Umbrella - Analytics abstraction layer.
Libs to help with animation back to top
- Advance - A powerful animation framework for iOS, tvOS, and OS X.
- ChainPageCollectionView - Fancy two-level collection view layout and animation.
- Comets - Animating Particles.
- DKChainableAnimationKit - Easy to read and write chainable animations.
- 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 for iOS
- 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.
- Kinieta - An simple Animation Engine for iOS with an Intuitive API and Readable Code.
- 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.
- SwiftyAnimate - Composable animations.
- 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.
Quick libs to get access to third party API services back to top
- GitHubAPI - Implementation of GitHub REST API v3
- GooglePlacesAutocomplete - Simple Google Places address entry for iOS.
- 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.
- SwiftInstagram - Instagram API wrapper.
- SwiftlySalesforce - Framework for rapid development of native iOS apps that integrate with Salesforce.
- SwiftyInsta - Private and Tokenless Instagram RESTful API.
Internal app routing systems. back to top
- Appz - Launch external apps and deeplink with ease.
- Crossroad - :oncoming_bus: 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.
- RxFlow - RxFlow is a navigation framework for iOS applications based on a Reactive Flow Coordinator pattern.
- SwiftRouter - A URL Router for iOS.
- URLNavigator - Elegant URL Routing.
Libs to help with apple app store, in app purchases and receipt validation. back to top
- 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.
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.
- MusicKit - A framework for composing and transforming music.
- Soundable - Soundable allows you to play sounds, single and in sequence, in a very easy way.
- SwiftySound - Simple library that lets you play sounds with a single line of code.
- TuningFork - A Simple Tuner for iOS.
- voice-overlay-ios - An overlay that gets your user’s voice permission and input as text in a customizable UI.
- 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.
- ARVoxelKit - Voxel graphic framework using ARKit.
- Poly - Unofficial Google Poly SDK – explore the world of 3D.
Easy way to manage auth in your apps. back to top
- Cely - A Plug-n-Play login framework.
- InstagramLogin - Simple way to authenticate Instagram accounts.
- 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.
- Simplicity - A simple way to implement Facebook and Google login in your iOS and OS X apps.
- SpotifyLogin - Authenticate with the Spotify API.
Libs to build bot back to top
- Telegram Bot SDK :penguin: - Unofficial SDK.
- Telegrammer :penguin: - Open-source framework for Telegram Bots developers. It was built on top of Apple/SwiftNIO which help to demonstrate excellent performance.
- AwesomeCache - Manage cache easy.
- Cache - Nothing but Cache.
- 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.
- Charts - Beautiful charts for iOS/tvOS/OSX (port of MPAndroidChart).
- PNChart-Swift - A simple and beautiful chart lib with animation.
- 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.
- TKRadarChart - A customizable radar chart.
Libs to get access to build chat app back to top
- Chatto - A lightweight framework to build chat applications.
- 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.
Interesting snippets related to color management and utility. back to top
- Chameleon - Chameleon is a lightweight, yet powerful, color framework for iOS.
- ChromaColorPicker - An intuitive and fun iOS color picker.
- Colorify - Colorify - simple, yet powerful color library.
- DynamicColor - An extension to manipulate colors easily.
- FlatUIColors - Flat UI color palette.
- Gradients - A curated collection of splendid 180+ gradients.
- HexColor - Define UIColors as Hex integers.
- 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.
- SwiftGen-Colors - A tool to auto-generate
- 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.
Create command line applications. back to top
- Commander :penguin: - Compose beautiful command line interfaces.
- CommandLine :penguin: - Library for creating command-line interfaces.
- Guaka :penguin: - The smart and beautiful (POSIX compliant) command line framework.
- LineNoise :penguin: - 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 :penguin: - Add beautiful progress bars to your command line.
- SwiftCLI :penguin: - A powerful framework that can be used to develop a CLI.
- Swiftline - A set of tools to help you create command line applications.
- SwiftyTextTable :penguin: - A lightweight library to generate text tables.
Easier ways to work with concurrency. back to top
- AsyncNinja - A complete set of concurrency and reactive programming primitives.
- Futures :penguin: - Lightweight promises for iOS, macOS, tvOS, watchOS, and server-side.
- GroupWork :penguin: - Easy concurrent, asynchronous tasks.
- Hydra - Promises & Await - Write better async code.
- Kommander - Manage the task execution in different threads through Kommands.
- Queuer :penguin: - A queue manager, built on top of OperationQueue and Dispatch (aka GCD).
- Venice :penguin: - Communicating sequential processes (CSP), Linux ready.
- Money - Currency formatter.
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.
- AlecrimCoreData - Simple Core Data wrapper library.
- Cadmium - Framework that hides the complexity of managed object contexts.
- 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.
- Ballcap - Ballcap is a database schema design framework for Cloud Firestore.
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 :penguin: - 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.
- Freddy - A reusable framework for parsing JSON.
- Genome - A simple, type safe, failure driven mapping library for serializing JSON to models.
- Gloss :penguin: - Shiny JSON parsing library.
- HandyJSON - A handy JSON-object serialization/deserialization library.
- Himotoki - A type-safe JSON decoding library.
- JASON - JSON parsing with outstanding performances and convenient operators.
- JSONCodable - Hassle-free JSON encoding and decoding.
- 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.
- SwiftyJSON - A lib for JSON with error handling.
- SwiftyJSONAccelerator - macOS app to generate Swift 5 models for JSON (with Codeable).
- Unbox - The easy to use JSON decoder.
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.
- Palau - Typesafe NSUserDefaults with custom rules.
- 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.
- UserDefaultsStore - Why not use UserDefaults to store Codable objects 😉.
- Zephyr - Effortlessly synchronize NSUserDefaults over iCloud.
- MongoKitten :penguin: - MongoDB Connector.
- Perfect-MongoDB :penguin: - A stand-alone wrapper around the mongo-c client library, enabling access to MongoDB servers.
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.
- StorageKit - Your Data Storage Troubleshooter 🛠.
- fluent :penguin: - Simple ActiveRecord implementation.
- Perfect-CRUD :penguin: - CRUD is an object-relational mapping (ORM) system using Codable protocol.
Other ways to persist data back to top
- CoreXLSX - Excel spreadsheet (XLSX) format support.
- CSVParser :penguin: - Fast parser for CSV.
- 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 is a mobile database: a replacement for Core Data & SQLite.
- Realm+JSON - A concise Mantle-like way of working with Realm and JSON.
- RealmWrapper - Safe and easy wrappers for RealmSwift.
- Unrealm - Unrealm enables you to easily store Swift native Classes, Structs and Enums into Realm.
- MySQL Swift :penguin: - MySQL client library.
- Perfect-MySQL :penguin: - A stand-alone wrapper around the MySQL client library, enabling access to MySQL servers.
- Perfect-PostgreSQL :penguin: - A stand-alone wrapper around the libpq client library, enabling access to PostgreSQL servers.
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.
Tom's Obvious, Minimal Language. back to top
- TOMLDecoder - Latest TOML standard, decoded.
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
- Zip - Framework for zipping and unzipping files.
- Zip Foundation - A library to create, read and modify ZIP archive files.
Handle data 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
- Datify - Easypeasy date functions.
- NVDate - Date extension library.
- SwiftDate - Easy NSDate Management.
- SwiftMoment - A time and calendar manipulation library.
- 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).
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).
- 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.
- Swinject - A dependency injection framework.
- Typhoon - Dependency injection toolkit.
- Weaver - A declarative, easy-to-use and safe Dependency Injection framework.
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.
- 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.
Generate documentation for Swift code back to top
- jazzy - Soulful docs.
- SourceDocs - Generate Markdown reference documentation that lives with your code.
Build your embedded Linux projects on a RaspberryPi, BeagleBone, C.H.I.P. and other boards. back to top
- SwiftyGPIO :penguin: - Interact with Linux GPIO/SPI/PWM on ARM.
Interact with specific external peripherals. back to top
Alternatives to NSNotificationCenter, Key-Value-Observation, or delegation. back to top
- Bond - Binding framework.
- BrightFutures - Promise and future lib.
- Combinative - UI event handling using Apple's combine framework.
- EasyFutures - 🔗Futures & Promises. Easy to use. Highly combinable.
- 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
NSNotificationCenterby providing a simple, customizable adapter.
- Observable - The easiest way to observe values.
- 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.
- RxReduce - Reactive implementation of the state container pattern (like Redux). It is based on the simple concepts of state immutability and unidirectionnal data flow.
- RxSwift - Microsoft Reactive Extensions (Rx).
- Signals - Replaces delegates and notifications.
- Snail - An Observables framework.
- 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.
- FileBrowser - Powerful file browser for iOS.
- 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 :penguin: - Effortless path operations.
- Pathos :penguin: - Efficient Unix file management.
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.
- OpenSansSwift - OpenSans.
- 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.
- UIFontComplete - Font management (System & Custom) for iOS and tvOS.
- glide engine - SpriteKit and GameplayKit based engine for making 2d games, with practical examples and tutorials.
- ImagineEngine - Blazing fasst 2D gaming engine.
- Sage :penguin: - A cross-platform chess library.
- DBPathRecognizer - db path recognizer for letters.
- PeekPop - Framework for backwards-compatible Peek and Pop.
- 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).
A category dedicated to hardware related libs back to top
Easy handle new 3D Touch / Force Touch feature thanks to these libs. back to top
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.
Awesome camera libs back to top
- ALCameraViewController - Camera view controller with custom image picker and image cropping.
- CameraBackground - Show camera layer as a background to any UIView.
- CameraKit-iOS - Massively increase camera performance and ease of use in your next project.
- Fusuma - Instagram-like photo browser and a camera feature.
- NextLevel - Rad Media Capture.
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.
Libraries that involve the use of Haptic Feedback back to top
- Haptica - Easy Haptic Feedback Generator.
Interested in using iBeacon in your Swift project? Here some interesting resources. back to top
- SwiftLocation - Location & Beacon Monitoring.
Manage your device sensors in a faster and easier way back to top
- MotionKit - iOS device sensors wrapper.
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.
- 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.
- 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.
- 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.
- 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.
- 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.
- Pixel - An image editor and engine using CoreImage.
- Rough - Rough lets you draw in a sketchy, hand-drawn-like, style.
- Sharaku - Image filtering UI library like Instagram.
- Snowflake - Work with SVG.
- SwiftGen-Assets - A tool to auto-generate
enumsfor all your
UIImagesfrom your Assets Catalogs.
- SwiftGif - A small UIImage extension with GIF support.
- SwiftSVG - A single pass SVG parser with multiple interface options (String, NS/UIBezierPath, CAShapeLayer, and NS/UIView).
- 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.
- Viewer - Image viewer (or Lightbox) with support for local and remote videos and images.
- Vulcan - Multi image downloader with priority.
- ZImageCropper - Crop image in any shape.
Key Value Coding
Libraries for key-value coding back to top
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.
- KeyboardHideManager - Codeless manager to hide keyboard by tapping on views for iOS.
- 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.
Libraries for coding with a simplified API back to top
- BFKit-Swift :penguin: - A collection of useful classes, structs and extensions to develop Apps faster.
- C4iOS - Harnesses the power of native iOS programming with a simplified API.
Libs to help you with layout. back to top
- BrickKit - Create complex and responsive layouts in a simple way.
- FlexLayout - Nice and clean interface to the highly optimized Facebook yoga Flexbox implementation.
- LayoutKit - LayoutKit is a fast view layout library for iOS, macOS, and tvOS.
- LayoutLess - Write less UI Code.
- ManualLayout - Easy to use and flexible AutoLayout alternative for iOS 8+. Supports AsyncDisplayKit.
- 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]
- Static - A simple static table views for iOS.
- Stevia - Elegant view layout for iOS.
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.
- EZLayout - An easier and faster way to code Autolayout.
- 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.
Frameworks that helps with localizing your app back to top
- BartyCrouch - Incrementally update/translate your Strings files from Code and Storyboards/XIBs.
- 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.
- NoOptionalInterpolation - Get rid of "Optional(...)" and "nil" in string interpolation. Easy pluralization.
- Swifternalization - Localize apps using e.g. regular expressions in Localizable.strings.
- SwiftGen-L10n - A tool to auto-generate
enumsfor all your Localizable.strings keys (with appropriate associated values if those strings contains printf-format placeholders like
- STLocationRequest - An elegant and simple 3D Flyover Location Request Screen.
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.
- Dotzu - Debbuger tool for iOS developer. Display logs, network request, device informations, crash logs while using the app.
- Duration :penguin: - Lightweight logging library focused on reporting timings for operations.
- HeliumLogger :penguin: - IBM's lightweight logging framework.
- Printer - A fancy logger for your next app.
- Puree - A log collector for iOS.
- QorumLogs - Logging Utility for Xcode & Google Docs.
- Rainbow :penguin: - Delightful console output.
- SwiftyBeaver :penguin: - Multi-platform logging during development & release.
- TinyConsole - A tiny log console to display information while using your iOS app.
- TraceLog :penguin: - 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.
- 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.
- MapViewPlus - Use any custom view as custom callout view for MKMapView with cool animations. Use any image as annotation view.
- 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
A list of libs that allow you to decrease the amount of time spent dealing with http requests. back to top
- Alamofire :penguin: - 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.
- Dratini - A neat network layer.
- Heimdallr.swift - Easy to use OAuth 2 library for iOS.
- Just :penguin: - 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.
- NEKit - A toolkit for Network Extension Framework.
- NetClient - Versatile HTTP networking library.
- Netfox - A lightweight, one line setup, network debugging library.
- OAuth2 - oauth2 auth lib.
- OAuthSwift - OAuth library for iOS.
- PeerKit - Framework for building event-driven, zero-config Multipeer Connectivity apps.
- Pitaya :penguin: - 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.
- ResponseDetective - A non-intrusive framework for intercepting any outgoing requests and incoming responses between your app and server for debugging purposes.
- 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.
- TRON - Lightweight network abstraction layer, written on top of Alamofire.
- Wormholy - iOS network debugging, like a wizard 🧙.
Need to manipulate contents from html easily? back to top
- Fuzi - A fast & lightweight XML/HTML parser with XPath & CSS support.
- Ji - XML/HTML parser.
- Kanna - Another XML/HTML parser.
- SwiftSoup :penguin: - HTML Parser, with best of DOM, CSS, and jquery.
- WKZombie - Headless browser.
- 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 :penguin: - Socket.IO client for iOS/OS X.
- sockets :penguin: - TCP, UDP; Client, Server; Linux, OS X.
- Starscream - Websockets for iOS and OSX.
- SwiftDSSocket - Asynchronous socket framework built atop DispatchSource.
- SwiftSocket - Simple TCP socket library.
- SwiftWebSocket - A high performance WebSocket client library .
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 :penguin: - HTTP server using the pre-fork worker model.
- Embassy :penguin: - Super lightweight async HTTP server library.
- Kitura :penguin: - IBM's web framework and server for web services.
- Lightning :penguin: - Multiplatform Single-threaded Non-blocking Web and Networking Framework.
- Noze.io :penguin: - Evented I/O streams like Node.js.
- Perfect :penguin: - Server-side Swift. The Perfect library, application server, connectors and example apps.
- swifter :penguin: - Http server with routing handler.
- Vapor :penguin: - Elegant web framework that works on iOS, OS X, and Ubuntu.
- Zewo :penguin: - Server-Side Swift.
- SwiftOCR - Neural Network based OCR lib.
- 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.
- IBLinter - A linter tool for Interface Builder.
- SwiftLint - A tool to enforce coding conventions.
- Swimat - Xcode plugin to format code.
- Tailor :penguin: - Cross-platform static analyzer that helps you to write cleaner code and avoid bugs.
- Marathon - Easy way to create and manage scripts.
- Swift for Scripting - A hand-curated collection of useful and informative scripting material.
Deal with cryptography method easily back to top
- BlueCryptor - IBM's Cross Platform Crypto library.
- BlueRSA - IBM's Cross Platform RSA Crypto library.
- CryptoSwift :penguin: - 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-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.
- Locksmith - A powerful, protocol-oriented library for working with the iOS Keychain.
- SwiftKeychainWrapper - Simple static wrapper for the iOS Keychain to allow you to use it in a similar fashion to user defaults.
- HaishinKit - Camera and Microphone streaming library via RTMP, HLS for iOS, macOS, tvOS.
- Live - Demonstrate how to build a live broadcast app.
- Ambience - Brightness aware accessibility theme switching without coding.
- Stylist - Define UI styles in a hot-loadable external yaml or json file.
- SwiftTheme - Powerful theme/skin manager for iOS 8+.
- Themes - Theme management.
- BlueSignals - IBM's Cross Platform OS signal handling library.
- LaunchAtLogin - Easily add 'Launch at Login' functionality to your sandboxed macOS app.
- SMCKit - Apple SMC library.
- SystemKit - OS X system library.
A collection of testing frameworks. back to top
- DVR - A simple network testing framework.
- Fakery - Fake data generator.
- Nimble - A matcher framework.
- OHHTTPStubs - A testing library designed to stub your network requests easily.
- PinpointKit - Lets your testers and users send feedback with annotated screenshots and logs using a simple gesture.
- Quick :penguin: - Quick is a behavior-driven development framework.
- Sizes - Test your app on different device and font sizes
- SnapshotTest - Snapshot testing tool for iOS and tvOS.
- Spectre :penguin: - BDD Framework.
- 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.
- 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.
- Kakapo - Dynamically Mock server behaviors and responses.
- Mockingjay - An elegant library for stubbing HTTP requests with ease.
- Mockit - A simple mocking framework, inspired by the famous Mockito for Java.
A collection of text projects. back to top
- Atributika - Easily build NSAttributedString by detecting and styling HTML-like tags, hashtags, mentions, RegExp or NSDataDetector patterns.
- 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.
- Format - Formatting kit for numbers, addresses and colors.
- 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.
- 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.
- PySwiftyRegex - Easily deal with Regex in a Pythonic way.
- Regex by crossroadlabs :penguin: - Very easy to use Regular Expressions library with rich functionality. Features both operator
=~and method based APIs. Unit tests covered.
- RichEditorView - RichEditorView is a simple, modular, drop-in UIView subclass for Rich Text Editing.
- Roman :penguin: - Seamless Roman numeral conversion.
- 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.
- SyntaxKit - TextMate-style syntax highlighting.
- 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.
- VEditorKit - Lightweight and Powerful Editor Kit.
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.
- Chronos - Grand Central Dispatch Utilities.
- Each - Each is a NSTimer bridge library.
- EKI - Make Grand Central Dispatch easy and fun to use (queue, task, group, timer and semaphore).
- GCDTimer - A well-tested GCD timer.
- Schedule :penguin: - A missing lightweight task scheduler with an incredibly human-friendly syntax.
- SwiftyTimer - API for NSTimer.
A collection of pre-packaged transitions & cool ui stuffs. back to top
- 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.
- Arale - A custom stretchable header view for UIScrollView or any its subclasses with UIActivityIndicatorView support for content reloading.
- 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.
- BreakOutToRefresh - A playable pull to refresh view using SpriteKit.
- BulletinBoard - Generates and manages contextual cards displayed at the bottom of the screen.
- CircularProgress - Circular progress indicator for your macOS app.
- ClassicKit - A collection of classic-style UI components.
- CostumeKit - Base types for theming an app.
- 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.
- Element - Programmatic UI framework for macOS.
- 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.
- 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.
- Geometry - extensions for UIView.
- 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.
- Hexacon - A new way to display content in your app like the Apple Watch SpringBoard.
- 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.
- IGColorPicker - A customizable color picker for iOS.
- InfoView - Simple information view with pointed arrow.
- InstantSearch iOS - A library of widgets and helpers to build instant-search features on iOS.
- KALoader - Beautiful animated placeholders for showing loading of data.
- KDInteractiveNavigationController - A UINavigationController subclass that support pop interactive UINavigationBar with hidden or show.
- 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 for iOS
- MaterialKit - Material design components.
- MediaBrowser - Simple iOS photo and video browser with optional grid view, captions and selections.
- MediumScrollFullScreen - Medium scroll style menubar.
- 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.
- 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.
- PPAssetsActionController - Highly customizable Action Sheet Controller with assets preview.
- Preferences - Add a preferences window to your macOS app in minutes.
- 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.
- ResizingTokenField - A UICollectionView-based token field which provides intrinsic content height.
- RetroProgress - Retro looking progress bar straight from the 90s.
- SAHistoryNavigationViewController - iOS task manager like UI in UINavigationContoller.
- SectionedSlider - Control Center Slider.
- SelectionDialog - Simple selection dialog.
- ShadowView - Make shadows management easy on UIView.
- Shiny - Iridescent Effect View (inspired by Apple Pay Cash).
- SkeletonView - An elegant way to show users that something is happening and also prepare them to which contents he is waiting.
- 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.
- StatefulViewController - Placeholder views based on content, loading, error or empty states.
- StepProgressView - Step-by-step progress view with labels and shapes. A good replacement for UIActivityIndicatorView and UIProgressView.
- SwiftyUI - High performance and lightweight UIView, UIImage, UIImageView, UIlabel, UIButton and more.
- TagListView - Simple but highly customizable iOS tag list view.
- Toaster - Notification toasts.
- TouchVisualizer - Lightweight touch visualization library with a single line of code.
- 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.
- URLEmbeddedView - Automatically caches the object that is confirmed the Open Graph Protocol, and displays it as URL embedded card.
- Wallet - A replica of the Apple's Wallet interface. Add, delete or present your cards and passes.
- 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.
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 - 🍞 Basic toast as well as async waiting 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.
- GSMessage - A simple style messages/notifications for iOS 7+.
- Hokusai - A library for a cool bouncy action sheet.
- Kamagari - Simple UIAlertController builder class.
- KRAlertController - A beautiful alert controller for your iOS.
- Loaf - A simple framework for easy iOS Toasts.
- 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.
- 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.
- SwiftyDrop - Lightweight dropdown message bar.
- XLActionController - Fully customizable and extensible action sheet controller.
- Zingle - An alert will display underneath your UINavigationBar.
- SuperDelegate - SuperDelegate provides a clean application delegate interface and protects you from bugs in the application lifecycle.
- VisualEffectView - UIVisualEffectView subclass with tint color.
- 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.
- Floaty - Floating Action Button for iOS.
- 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.
- 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.
- JTAppleCalendar - UI calendar handler.
- Workaholic - A GitHub-like work contribution timeline.
- 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.
- Carbon - 🚴 A declarative library for building component-based user interfaces in UITableView and UICollectionView.
- Eureka - Elegant iOS form builder.
- Former - A fully customizable library for easy creating UITableView based form.
- SwiftForms - Forms are now easy as 1-2-3.
- SwiftyFORM - Forms that can be validated.
- EZLoadingActivity - Lightweight loading activity HUD.
- GradientLoadingBar - An animated gradient loading bar.
- KRProgressHUD - A beautiful and customizable progress HUD.
- PKHUD - Reimplementation of the Apple HUD.
- ActiveLabel - UILabel drop-in replacement supporting Hashtags (#), Mentions (@) and URLs (http://).
- CountdownLabel - Simple countdown UILabel with morphing animation, and some useful function.
- FloatLabelFields - Text entry controls which contain a built-in title/label so that you don't have to add a separate title for each field.
- 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.
- NumberMorphView - A label view for displaying numbers which can transition or animate using a technique called number tweening or number morphing.
- SMIconLabel - UILabel with image placed from left or right.
- Translucid - Lightweight library to set an Image as text background.
- TriLabelView - A triangle shaped corner label view for iOS.
- 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.
- MediumMenu - A menu based on Medium iOS app.
- MenuItemKit -
UIMenuItemwith 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.
- 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.
- CHIPageControl - A set of cool animated page controls to replace boring UIPageControl.
- FlexiblePageControl - A flexible UIPageControl like Instagram.
- 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.
- Caishen - A Payment Card UI & Validator for iOS.
- iCard - Bank Card Generator using SnapKit DSL.
- MFCard - Easily integrate Credit Card payments in iOS App.
- 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.
- StackViewController - Simplify the use of UIStackView.
- TZStackView - An iOS9 UIStackView layout component re-implemented for iOS 7 and 8.
- 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.
- Adaptive Tab Bar - Adaptive tab bar.
- Animated Tab Bar - RAMAnimatedTabBarController is a module for adding animation to tab bar 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.
- Tabman - A powerful paging view controller with indicator bar.
- TabPageViewController - Paging view controller and scroll tab view.
- CBPinEntryView - Easy to use, very customisable pin entry.
- DTTextField - DTTextField is a custom textfield with floating placeholder and error label.
- HTYTextField - A UITextField with bouncy placeholder.
- 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.
- 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.
- MusicPlayerTransition - Custom interactive transition like Apple Music iOS App.
- PanSlip - Use PanGesture to dismiss view on UIViewController and UIView.
- PinterestSwift - Pinterest style transition.
- RevealingSplashView - A Splash view that animates and reveals its content, inspired by the Twitter splash.
- 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.
- 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.
- CarLensCollectionViewLayout - An easy-to-use Collection View Layout for card-like animation.
- 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.
- CollectionViewSlantedLayout - UICollectionViewLayout to show slanted content.
- 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.
- 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.
- 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.
- ExpyTableView - Make your table view expandable just by implementing one method.
- 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.
- SectionScrubber - A component to quickly scroll between collection view sections.
- 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.
- AwesomeSpotlightView - Create tutorial or coach tour.
- BWWalkthrough - A class to build custom walkthroughs for your iOS App.
- 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.
- 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.
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.
- Butterfly - A lightweight library for integrating bug-report and feedback features with shake-motion event.
- 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.
- DeepDiff - Fast diff library.
- Delegated - Closure-based delegation without memory leaks.
- DifferenceKit - 💻 A fast and flexible O(n) difference algorithm framework.
- Differific - A fast and convenient diffing framework.
- EtherWalletKit - Ethereum Wallet Toolkit for iOS - You can implement Ethereum wallet without a server and blockchain knowledge.
- EZSwiftExtensions - How standard types and classes were supposed to work.
- FluentQuery :penguin: - Powerful and easy to use Query Builder.
- FluxCapacitor - FluxCapacitor makes implementing Flux design pattern easily with protocols and typealias.
- Focus - Optics library (includes Lens, Prisms, and Isos) that is inspired by Haskell's Lens library.
- 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.
- Popsicle - Delightful, extensible value interpolation framework.
- 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 :penguin: - 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.
- 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 :penguin: - A plugin and runtime library for using Google's Protocol Buffer.
- 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
enumsfor 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.
- 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.
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 👮.
- Validator - Drop in user input validation for your iOS apps.
- PhoneNumberKit - Framework for parsing, formatting and validating international phone numbers. Inspired by Google's libphonenumber.
- 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.
- 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.
- VGPlayer - A simple iOS video player, support play local and network, background playback mode, automatic caching while playing.
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!!