Swift Development
Welcome to the world of Swift!
An ongoing curated list of frameworks, books, articles, talks, screencasts, recordings, libraries, learning tutorials and resources about Swift development.
Swift is a powerful and intuitive programming language for iOS, iPadOS, macOS, tvOS, and watchOS. Writing Swift code is interactive and fun, the syntax is concise yet expressive, and Swift includes modern features developers love. Swift code is safe by design, yet also produces software that runs lightning-fast.
- Swift is a fantastic way to write software, whether it’s for phones, desktops, servers, or anything else that runs code.
Why Swift?
Swift defines away large classes of common programming errors by adopting modern programming patterns:
- Variables are always initialized before use.
- Array indices are checked for out-of-bounds errors.
- Integers are checked for overflow.
- Optionals ensure that nil values are handled explicitly.
- Memory is managed automatically.
- Error handling allows controlled recovery from unexpected failures.
Contents
- Guides
- Boilerplates
- REPL
- Editor Support
- Benchmark
- Converters
- Other Awesome Lists
- Dependency Managers
- Patterns
- Misc
- Libs
- Accessibility
- AI
- Algorithm
- Analytics
- Animation
- API
- App Routing
- App Store
- Audio
- Augmented Reality
- Authentication
- Bots
- Cache
- Chart
- Chat
- Colors
- Command Line
- Concurrency
- Currency
- Data Management
- Date
- Dependency Injection
- Device
- Documentation
- Embedded Systems
- Events
- Files
- Fonts
- Game Engine
- Games
- Gesture
- Hardware
- Images
- Key Value Coding
- Keyboard
- Kit
- Layout
- Localization
- Location
- Logging
- Maps
- Math
- Natural Language Processing
- Network
- OCR
- Optimization
- Quality
- Scripting
- SDK
- Security
- Streaming
- Styling
- System
- Testing
- Text
- Thread
- UI
- Utility
- Validation
- Version Manager
- Video
- Serverless
Guides
An awesome list of Swift related guides.
Newsletter
- Swift Developments – A weekly curated newsletter containing for people interested in designing and developing their own iOS, watchOS and Apple TV apps.
- Swift Weekly Brief – A multi author curated newsletter.
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.
- Introducing SwiftUI – Official SwiftUI tutorial with 4+ hours of content and interactive tutorials.
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 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.
- 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.
Boilerplates
- iOS project template – iOS project template with fastlane lanes, Travis CI jobs and GitHub integrations of Codecov, HoundCI for SwiftLint and Danger.
- Swift Module Template – An opinionated starting point for awesome, reusable modules.
REPL
- Online Swift Playground – Online Swift Playground.
Editor Support
Support for your favorite editors.
Emacs
- swift-mode – Emacs support, including partial flycheck error support.
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.
- Reactant – Reactant is a reactive architecture for iOS.
- ReduxUI – Redux framework for easy use with SwiftUI.
- Spin – Provides a versatile Feedback Loop implementation working with RxSwift, ReactiveSwift and Combine.
- StateViewController – Stateful UIVIewController composition — the MVC cure for Massive View Controllers.
- 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.
- 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.
- Model2App – Turn your data model into a working CRUD app.
- 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.
- 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.
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
- Umbrella – Analytics abstraction layer.
Animation
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.
- 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.
- 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.
- 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.
- 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.
- 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.
- ARVoxelKit – Voxel graphic framework using ARKit.
- Poly – Unofficial Google Poly SDK – explore the world of 3D.
Authentication
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.
- 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
- 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.
Chat
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.
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.
- 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.
- 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
- Commander ? – Compose beautiful command line interfaces.
- CommandLine ? – Library for creating 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
- AsyncNinja – A complete set of concurrency and reactive programming primitives.
- Futures ? – Lightweight promises for iOS, macOS, tvOS, watchOS, and server-side.
- GroupWork ? – Easy concurrent, asynchronous tasks.
- Hydra – Promises & Await – Write better async code.
- Kommander – Manage the task execution in different threads through Kommands.
- 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
- Money – Currency formatter.
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.
- AlecrimCoreData – Simple Core Data wrapper library.
- 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.
- Freddy – A reusable framework for parsing JSON.
- Gloss ? – 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.
- 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.
- 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.
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
- 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.
- 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.
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 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
NSDate
,NSCalendar
,NSDateComponents
, andNSTimeInterval
. - 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
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.
- 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.
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.
- 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
NSNotificationCenter
by providing a simple, customizable adapter. - Observable – The easiest way to observe values.
- 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.
- 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.
Files
- 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.
- 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.
- 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.
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
- 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.
- FDTake – Easily take a photo or video or choose from library.
- Fusuma – Instagram-like photo browser and a camera feature.
- 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.
- 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. - 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).
- 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.
- Viewer – Image viewer (or Lightbox) with support for local and remote videos and images.
- Vulcan – Multi image downloader with priority.
- 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.
- 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.
Layout
Libs to help you with layout. back to top
- 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.
- Grid – The most powerful Grid container missed in SwiftUI.
- LayoutKit – LayoutKit is a fast view layout library for iOS, macOS, and tvOS.
- 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]
- 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.
- 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
- NoOptionalInterpolation – Get rid of “Optional(…)” and “nil” in string interpolation. Easy pluralization.
- 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
- 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.
- Puree – A log collector for iOS.
- 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.
- MapViewPlus – Use any custom view as custom callout view for MKMapView with cool animations. Use any image as annotation view.
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.
- Dratini – A neat network layer.
- 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.
- NEKit – A toolkit for Network Extension Framework.
- NetClient – Versatile HTTP networking library.
- 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.
- 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
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 ? – HTML Parser, with best of DOM, CSS, and jquery.
- WKZombie – Headless browser.
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.
- SwiftDSSocket – Asynchronous socket framework built atop DispatchSource.
- 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.
- Corvus ? – Web framework to build REST APIs with a declarative syntax.
- 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
- 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.
- 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
- Marathon – Easy way to create and manage scripts.
- 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
- 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.
Streaming
- HaishinKit – Camera and Microphone streaming library via RTMP, HLS for iOS, macOS, tvOS.
- Live – Demonstrate how to build a live broadcast app.
Styling
- 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.
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.
- PinpointKit – Lets your testers and users send feedback with annotated screenshots and logs using a simple gesture.
- Quick ? – 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 ? – 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.
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.
- 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.
- 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.
- 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
- 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.
- 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.
- 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.
- HPParallaxHeader – Simple parallax header for UIScrollView.
- 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.
- 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.
- 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.
- Partition Kit – A SwiftUI Library for creating resizable partitions for View Content.
- 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).
- ShowSomeProgress – Animated Progress and Activity Indicators for iOS apps.
- 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.
- Streamoji – Custom emoji rendering library with support for GIFs and images, UITextView extension.
- SweetCurtain – Really sweet and easy bottom pullable sheet implementation. You can find a similar implementation in applications like Apple Maps, Find My, Stocks, etc.
- 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.
- 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.
- 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.
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.
- 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.
- 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.
- SwiftyDrop – Lightweight dropdown message bar.
- 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.
- 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.
- SwiftForms – Forms are now easy as 1-2-3.
- 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.
- 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.
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.
- MediumMenu – A menu based on Medium iOS app.
- 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.
- 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.
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.
- 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.
- 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.
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.
- 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.
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.
- 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.
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.
- ExpyTableView – Make your table view expandable just by implementing one method.
- 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.
- 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.
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.
- 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.
- 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.
- FluentQuery ? – 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.
- Percentage – Make percentages more readable and type-safe.
- 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.
- 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 ?.
- Validator – Drop in user input validation for your iOS apps.
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.
- VGPlayer – A simple iOS video player, support play local and network, background playback mode, automatic caching while playing.
Serverless
- Azure Functions for Swift ? – Swift Worker for Azure Functions.
Contributing
Licenses
License
To the extent possible under law, Veilair has waived all copyright and related or neighboring rights to this work.