List.community

Awesome Swift

iOS AppAwesomeLinuxProjectsUpdated
Download on the App StoreAwesome🐧March 03, 2018

Contributing

Please take a quick look at the contribution guidelines first. If you see a package or project here that is no longer maintained or is not a good fit, please submit a pull request to improve this file. Thank you to all contributors; you rock!!

Contents

Guides

An awesome list of Swift related guides.

Newsletter

back to top

Official Guides

back to top

Style Guides

back to top

  • GitHub4k 444 - Style guide & coding conventions.
  • LinkedIn490 78 - LinkedIn's Official Style Guide.
  • Raywenderlich8k 1k - Raywenderlich guide, a must read.

Third party Guides

back to top

Boilerplates

REPL

Editor Support

Support for your favorite editors.

Emacs

back to top

  • swift-mode51 2 - Emacs support, including partial flycheck error support.

Vim

back to top

  • swift-vim384 30 - Vim runtime files.
  • vim-polyglot1k 136 - Language pack for vim that includes vim-swift.

Benchmark

  • Benchmark61 8 - Provides methods to measure and report the time used to execute code.
  • xcprofiler196 8 - Command line utility to profile compilation time.

Converters

  • Swiftify - Objective-C to Swift online code converter and Xcode extension.

Demo Apps

Check out apps on these projects:

  • awesome-macOS2k 193 - A curated list of awesome applications, softwares, tools and shiny things for macOS.
  • open-source-ios-apps15k 3k - A collaborative list of open-source iOS Apps.

Dependency Managers

Dependency manager software for Swift.

  • Carthage21k 2k - A new dependency manager.
  • CocoaPods11k 2k - The most used dependency manager.
  • Mint349 14 - A package manager that installs and runs Swift command line tools.
  • swift-package-manager7k 905 - SPM is the Package Manager for the Swift Programming Language.

Patterns

Misc

Miscellaneous Swift related projects

  • Beak317 6 - A command line interface for your Swift scripts.
  • generator-swift-framework34 7 - Scaffolds out a Xcode framework project.
  • InteractivePlayground45 6 - A playground exploring the interactivity of Xcode 7.3 playgrounds.
  • MAIKit138 3 - A framework for sharing code between iOS and OS X.
  • sbconstants329 29 - A nifty tool to generate constants file by grabbing identifiers from storyboards in a project.
  • SwagGen56 12 🐧 - A command line tool for generating a REST API from a Swagger spec based off Stencil templates.
  • swift-compiler-crashes925 120 - A collection of test cases crashing the compiler.
  • SwiftGen1k 97 - A suite of tools to auto-generate code for various assets of your project.
  • SwiftPlate1k 53 - Easily generate cross platform framework projects from the command line.
  • Toybox2 2 - Xcode Playground management made easy.
  • XcodeGen740 51 - Tool for generating Xcode projects from a YAML file and your project directory.

Libs

Here you can find a list of snippets and libs for your Swift projects.

AI

Libs for AI based projects (Machine Learning, Neural Networks etc). back to top

  • BrainCore294 44 - The iOS and OS X neural network framework.
  • CoreML-Models668 43 - A collection of unique Core ML Models.
  • MLKit70 6 - A simple machine learning framework.
  • Swift-AI - The machine learning library.

Algorithm

back to top

  • Algorithm586 55 - A toolset for writing algorithms and probability models.
  • swift-algorithm-club9k 2k - Algorithms and data structures, with explanations.
  • SwiftLCS160 11 🐧 - implementation of the longest common subsequence (LCS) algorithm.

Analytics

Analytics related libraries to easily track your app usage back to top

  • Umbrella198 8 - Analytics abstraction layer.

Animation

Libs to help with animation back to top

  • Advance44 2 - A powerful animation framework for iOS, tvOS, and OS X.
  • AnimatedCollectionViewLayout2k 158 🐧 - A UICollectionViewLayout subclass that adds custom transitions/animations to the UICollectionView without affecting your existing code.
  • Animo131 15 - SpriteKit-like animation builders for CALayers.
  • ChainPageCollectionView479 28 - Fancy two-level collection view layout and animation.
  • Cheetah580 40 - An animation library on iOS.
  • Dance565 14 - A radical & elegant animation library built for iOS.
  • DKChainableAnimationKit2k 115 - Easy to read and write chainable animations.
  • DSGradientProgressView205 13 - DSGradientProgressView is a simple and customizable animated progress bar.
  • Ease798 13 - Animate everything with Ease.
  • EasyAnimation3k 205 - A library to take the power of UIView.animateWithDuration(_:, animations:...) to a whole new level.
  • FlightAnimator672 51 - Natural Blocks Based Core Animation Framework.
  • Gemini2k 80 - Gemini is rich scroll based animation framework.
  • IBAnimatable2k 256 - Design and prototype UI, interaction, navigation, transition and animation for App Store ready Apps in Interface Builder with IBAnimatable.
  • Interpolate2k 67 - Interpolation framework for creating interactive gesture-driven animations.
  • JDAnimationKit523 32 - Animate easy and with less code.
  • Kinieta2 1 - An simple Animation Engine for iOS with an Intuitive API and Readable Code
  • Morgan86 6 - An always growing animation set.
  • Pastel2k 71 - Gradient animation effect like Instagram.
  • Presentation2k 148 - A library to help you to make tutorials, release notes and animated pages.
  • Pulsator - Pulse animation for iOS.
  • Spring12k 1k - A library to simplify iOS animations.
  • spruce-ios2k 85 - Choreograph animations on the screen.
  • Stellar2k 179 - A Physical animation library.
  • SwiftyAnimate121 7 - Composable animations.
  • ViewAnimator3k 135 - Brings your UI to life with just one line.
  • Walker123 11 - An animation engine to make your animations easy and more readable.
  • YapAnimator2k 71 - Your fast and friendly physics-based animation system.
  • ZoomTransitioning527 38 - A custom transition with image zooming animation.

API

Quick libs to get access to third party API services back to top

App Routing

Internal app routing systems. back to top

  • Appz864 119 - Launch external apps and deeplink with ease.
  • Compass530 26 - Compass helps you setup a central navigation system for your application.
  • RxFlow584 15 - RxFlow is a navigation framework for iOS applications based on a Reactive Flow Coordinator pattern.
  • SwiftRouter137 22 - A URL Router for iOS.
  • URLNavigator1k 116 - Elegant URL Routing.

App Store

Libs to help with apple app store, in app purchases and receipt validation. back to top

  • InAppFw36 9 - In App Purchase Manager framework.
  • InAppPurchase37 5 - A Simple, Lightweight and Safe framework for In App Purchase.
  • SwiftyStoreKit3k 298 - Lightweight In App Purchases framework.

Audio

Libs to work with audio back to top

  • AudioKit4k 708 - Powerful audio synthesis, processing and analysis, without the steep learning curve.
  • AudioPlayer269 70 - A wrapper around AVPlayer with some cool features.
  • AudioPlayerSwift37 6 - AudioPlayer is a simple class for playing audio (basic and advanced usage) in iOS, OS X and tvOS apps.
  • Beethoven244 49 - An audio processing library for pitch detection of musical signals.
  • MusicKit461 32 - A framework for composing and transforming music.
  • SwiftySound629 28 - Simple library that lets you play sounds with a single line of code.
  • TuningFork20 2 - A Simple Tuner for iOS.

Augmented Reality

back to top

  • ARCharts178 7 - Lovely Augmented Reality Charts for iOS - Built with ARKit
  • ARKit-CoreLocation2k 195 - Combines the high accuracy of AR with the scale of GPS data.
  • ARKit-Navigation28 4 - Navigation in augmented reality with MapKit.
  • ARVideoKit453 35 - Capture & record ARKit videos, photos, Live Photos, and GIFs
  • ARVoxelKit - Voxel graphic framework using ARKit

Authentication

Easy way to manage auth in your apps. back to top

  • Cely63 6 - A Plug-n-Play login framework.
  • InstagramLogin - Simple way to authenticate Instagram accounts.
  • LoginKit350 23 - LoginKit is a quick and easy way to add a Login/Signup UX to your iOS app.
  • ReCaptcha72 14 - [In]visible ReCaptcha for iOS.
  • Simplicity1k 80 - A simple way to implement Facebook and Google login in your iOS and OS X apps.
  • SpotifyLogin144 7 - Authenticate with the Spotify API.
  • Voucher503 27 - A simple library to make authenticating tvOS apps easy via their iOS counterparts.

Bots

Libs to build bot back to top

Cache

back to top

  • AwesomeCache1k 132 - Manage cache easy.
  • Cache950 70 - Nothing but Cache.
  • Cachyr94 3 - A small key-value data cache for iOS, macOS and tvOS.
  • Carlos444 33 - A simple but flexible cache.
  • EVURLCache258 63 - If you want to make your app still works when it's offline.
  • SwiftMemCache51 5 - Memory Cache with namespace & TTL support.

Chart

back to top

  • Charts9k 2k - Beautiful charts for iOS/tvOS/OSX (port of MPAndroidChart).
  • PNChart-Swift304 37 - A simple and beautiful chart lib with animation.
  • ScrollableGraphView61 9 - Adaptive scrollable graph view for iOS to visualise simple discrete datasets.
  • SwiftChart514 73 - A simple line and area charting library for iOS. Supports multiple series, partially filled series and touch events.
  • SwiftCharts1k 268 - Highly customizable charts for iOS.
  • TKRadarChart134 18 - A customizable radar chart.

Chat

Libs to get access to build chat app back to top

  • Chatto3k 480 - A lightweight framework to build chat applications.
  • MessageKit2k 224 - A community-driven replacement for JSQMessagesViewController.

Colors

Interesting snippets related to color management and utility. back to top

  • Chameleon8k 905 - Chameleon is a lightweight, yet powerful, color framework for iOS.
  • ChromaColorPicker40 12 - An intuitive and fun iOS color picker.
  • Colorify - Colorify - simple, yet powerful color library.
  • Colors25 8 - Library for using ANSI codes.
  • CSS3ColorsSwift45 1 - A UIColor extension with CSS3 Colors name.
  • DynamicColor2k 85 - An extension to manipulate colors easily.
  • FlatUIColors126 20 - Flat UI color palette.
  • Google Material Color - Google Material Color Palette.
  • HexColor106 12 - Define UIColors as Hex integers.
  • Hue2k 160 - Hue is the all-in-one coloring utility that you'll ever need.
  • PrettyColors159 13 - Styles and colors text in the Terminal with ANSI escape codes. Conforms to ECMA Standard 48.
  • RandomColorSwift462 41 - An attractive color generator (ported from randomColor.js).
  • SwiftGen-Colors - A tool to auto-generate Swift enums for your UIColor constants.
  • SwiftHEXColors261 55 - HEX color handling as an extension for UIColor.
  • UIColor-Hex-Swift807 129 - Hex to UIColor converter.
  • UIColor-WikiColors64 5 - All wikipedia colors implemented as easy to use UIColor extension.
  • UIGradient34 5 - A simple and powerful library for using gradient layer, image, color

Command Line

Create command line applications. back to top

  • Commander549 66 🐧 - Compose beautiful command line interfaces.
  • CommandLine917 124 🐧 - Library for creating command-line interfaces.
  • Progress.swift230 21 🐧 - Add beautiful progress bars to your command line.
  • SwiftCLI184 24 🐧 - A powerful framework that can be used to develop a CLI.
  • Swiftline - A set of tools to help you create command line applications.
  • SwiftyTextTable91 7 🐧 - A lightweight library to generate text tables.
  • TextTable33 2 - Easily print textual tables. Inspired by the Python tabulate library.

Concurrency

Easier ways to work with concurrency. back to top

  • AsyncNinja65 5 - A complete set of concurrency and reactive programming primitives.
  • GroupWork11 2 🐧 - Easy concurrent, asynchronous tasks.
  • Hydra1k 65 - Promises & Await - Write better async code.
  • Kommander72 6 - Manage the task execution in different threads through Kommands.
  • Overdrive818 35 - Fast async task based API with focus on type safety, concurrency and multi threading.
  • Queuer165 12 🐧 - A queue manager, built on top of OperationQueue and Dispatch (aka GCD).
  • Safe423 29 - Modern Concurrency and Synchronization.
  • Threadly25 2 🐧 - Type-safe thread-local storage.
  • Venice490 28 🐧 - Communicating sequential processes (CSP), Linux ready.

Currency

back to top

  • Money773 52 - Currency formatter.

Data Management

back to top

Core Data

No more pain with Core Data, here are some interesting libs to handle data management. back to top

  • AERecord296 60 - Super awesome Core Data wrapper library for iOS.
  • AlecrimCoreData788 123 - Simple Core Data wrapper library.
  • Cadmium - Framework that hides the complexity of managed object contexts.
  • CoreStore2k 175 - simple and elegant way to handle Core Data.
  • CoreValue405 31 - Lightweight Framework for using Core Data with Value Types.
  • DataKernel4 3 - DataKernel is a minimalistic wrapper around Core Data stack to ease persistence operations. No external dependencies.
  • Graph722 60 - An elegant data-driven framework for Core Data.
  • JSQCoreDataKit472 86 - A swifter Core Data stack.
  • JustPersist82 2 - Easiest and safest way to do persistence on iOS with Core Data support out of the box.
  • QueryKit1k 80 - An easy way to play with Core Data filtering.
  • Skopelos178 13 - A minimalistic, thread safe, non-boilerplate and super easy to use version of Active Record on Core Data.
  • SugarRecord356 64 - Helps with Core Data and Realm.
  • SuperRecord429 38 - A small set of utilities to make working with Core Data a bit easier.

JSON

Struggling using json data? Here are some interesting ways to handle it. back to top

  • AlamofireJsonToObjects147 31 - An Alamofire extension which converts JSON response data into objects using Reflection.
  • AlamofireObjectMapper2k 329 - An Alamofire extension which converts JSON response data into objects using ObjectMapper.
  • Alembic102 5 - Functional JSON parsing, mapping to objects, and serialize to JSON.
  • Alexander42 6 - An extremely simple JSON helper.
  • Argo3k 305 - JSON parsing library.
  • Arrow76 4 - Elegant JSON Parsing.
  • Brick50 4 - A generic view model for both basic and complex scenarios.
  • Decodable1k 82 🐧 - JSON parsing.
  • Elevate747 51 - JSON parsing framework that makes parsing simple, reliable and composable.
  • EVReflection838 136 - Reflection based JSON encoding and decoding. Including support for NSDictionary, NSCoding, Printable, Hashable and Equatable
  • Freddy1k 117 - A reusable framework for parsing JSON.
  • Genome843 78 - A simple, type safe, failure driven mapping library for serializing JSON to models.
  • Gloss2k 169 🐧 - Shiny JSON parsing library.
  • HandyJSON - A handy swift JSON-object serialization/deserialization library.
  • Himotoki689 60 - A type-safe JSON decoding library.
  • JASON1k 65 - JSON parsing with outstanding performances and convenient operators.
  • json-swift827 105 - A basic library for working with JSON.
  • JSONCodable632 65 - Hassle-free JSON encoding and decoding.
  • JSONFeed19 1 - JSONFeed parser with built in reader for jsonfeed.org.
  • JSONHelper875 86 - Lightning fast JSON deserialization and value conversion library for iOS & OS X.
  • JSONNeverDie510 62 - Auto reflection tool from JSON to Model, user friendly JSON encoder / decoder, aims to never die.
  • ModelRocket556 31 - An iOS framework for creating JSON-based models.
  • ObjectMapper7k 914 - JSON object mapper.
  • Pistachio189 12 - Generic model framework.
  • SwiftyJSON16k 3k - A lib for JSON with error handling.
  • SwiftyJSONAccelerator556 80 - OSX app to generate models for JSON.
  • Tailor238 18 - A super fast & convenient object mapper tailored for your needs.
  • Unbox2k 147 - The easy to use JSON decoder.

Key Value Store

back to top

  • Default267 13 - Modern interface to UserDefaults + Codable support
  • DefaultsKit504 20 - Simple, Strongly Typed UserDefaults for iOS, macOS and tvOS.
  • Palau425 20 - Typesafe NSUserDefaults with custom rules.
  • Prephirences476 30 - Manage application preferences, NSUserDefaults, iCloud, Keychain and more.
  • Storez48 5 - Safe, statically-typed, store-agnostic key-value storage.
  • SwiftStore49 13 - A Key-Value store backed by LevelDB.
  • SwiftyUserDefaults3k 204 - Cleaner, nicer syntax for NSUserDefaults.
  • Zephyr388 26 - Effortlessly synchronize NSUserDefaults over iCloud.

MongoDB

back to top

  • MongoKitten265 42 🐧 - MongoDB Connector.
  • Perfect-MongoDB33 21 🐧 - A stand-alone wrapper around the mongo-c client library, enabling access to MongoDB servers.
  • SwiftMongoDB284 41 - MongoDB connector.

Multi Database

Data management layers that involve multiple sources. back to top

  • StorageKit137 5 - Your Data Storage Troubleshooter 🛠

ORM

back to top

  • fluent320 104 🐧 - Simple ActiveRecord implementation.

Other Data

Other ways to persist data back to top

  • CSVParser53 1 🐧 - Fast parser for CSV.
  • EVCloudKitDao535 71 - Simplified access to CloudKit with support for subscriptions and local caching.
  • LeetCode-Swift - Solutions to LeetCode interview questions.
  • Pencil60 4 - Write any value to file.

Realm

back to top

  • Realm22k 3k - Realm is a mobile database: a replacement for Core Data & SQLite.
  • Realm+JSON700 149 - A concise Mantle-like way of working with Realm and JSON.

SQL drivers

back to top

  • MySQL Swift107 28 🐧 - MySQL client library.
  • Perfect-MySQL53 29 🐧 - A stand-alone wrapper around the MySQL client library, enabling access to MySQL servers.
  • Perfect-PostgreSQL33 20 🐧 - 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.swift1k 136 - A versatile SQLite toolkit.
  • SQLite.swift5k 992 - Framework wrapping SQLite3. Small. Simple. Safe.
  • SQLiteDB471 148 - SQLite wrapper.
  • SwiftData303 33 - Simple and Effective SQLite Handling.

XML

If you prefer to manage XML data formatted entries, here are some helpful libs back to top

  • AEXML685 179 - xml wrapper.
  • AlamofireXmlToObjects61 8 - An Alamofire extension for fetching an XML feed and parsing it into objects.
  • CheatyXML15 2 - A powerful framework designed to manage XML easily.
  • SwiftyXML14 1 - The most swifty way to deal with XML.
  • SWXMLHash978 181 - Simple XML parsing.
  • XMLParser80 9 - A lightweight XMLParser for assembling and parsing XML values written for iOS 8+.

YAML

back to top

  • YamlSwift191 57 - Load YAML and JSON documents.
  • Yams79 14 🐧 - Sweet YAML parser.

ZIP

back to top

  • Zip1k 155 - Framework for zipping and unzipping files.
  • Zip Foundation850 29 - A library to create, read and modify ZIP archive files.

Date

Handle data formatting easily. back to top

  • AnyDate127 7 - Date & Time API inspired from Java 8 DateTime API.
  • Chronology - Building a better date/time library.
  • DateHelper203 43 - Simple date helper.
  • Datez202 16 - Library for dealing with NSDate, NSCalendar, NSDateComponents, and NSTimeInterval.
  • Datify32 5 - Easypeasy date functions.
  • NSDate-Extensions784 197 - Practical real-world dates.
  • Punctual.swift338 15 🐧 - Date handler.
  • SwiftDate4k 486 - Easy NSDate Management.
  • SwiftMoment2k 142 - A time and calendar manipulation library.
  • Time441 11 - Type-safe time calculations, powered by generics.
  • Timepiece2k 131 - Intuitive NSDate extensions.
  • TrueTime.swift220 28 - Get the true current time impervious to device clock time changes (NTP library).

Dependency Injection

Dependency injection libs back to top

  • Cleanse906 50 - A Lightweight Dependency Injection Framework by Square.
  • Corridor2 4 - A Coreader-like Dependency Injection μFramework.
  • Dip539 43 - A simple Dependency Injection Container.
  • Swinject2k 174 - A dependency injection framework.
  • Typhoon2k 302 - Dependency injection toolkit.

Device

A collection of libs to recognize your device. back to top

  • Device970 109 - Light weight tool for detecting the current device and screen size.
  • Device.swift103 42 - Super-lightweight library to detect used device.
  • DeviceKit2k 174 - DeviceKit is a value-type replacement of UIDevice.
  • Luminous161 14 - Get everything you need to know about the device.
  • Thingy - A modern device detection and querying library.
  • UIDeviceComplete233 15 - UIDevice extensions that fill in the missing pieces.

Documentation

Generate documentation for Swift code back to top

  • jazzy5k 342 - Soulful docs.
  • SourceDocs26 4 - Generate Markdown reference documentation that lives with your code.
  • swiftdoc-parser44 6 - SwiftDoc.org header parsing and HTML generating utilities.

Email

back to top

  • Hedwig825 40 🐧 - Send email to any SMTP server like a boss.

Embedded Systems

Build your embedded Linux projects on a RaspberryPi, BeagleBone, C.H.I.P. and other boards. back to top

  • SMBus-swift24 5 🐧 - Communicate with SMBus/I2C devices.
  • SwiftyGPIO664 67 🐧 - 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

  • Aftermath47 2 - Stateless message-driven micro-framework.
  • Bond758 94 - Binding framework.
  • BrightFutures2k 185 - Promise and future lib.
  • Caravel126 17 - Event bus for UIWebView and JS.
  • EmitterKit544 70 - Implementation of event emitters and listeners.
  • Forbind44 7 - Functional chaining and Promises.
  • Future161 10 - A micro framework providing Future.
  • FutureKit692 71 - Future/Promises Library.
  • Katana2k 68 - Write apps a la React and Redux.
  • NoticeObserveKit106 5 - NoticeObserveKit is type-safe NotificationCenter wrapper that associates notice type with info type.
  • Notificationz57 4 - Helping you own NSNotificationCenter by providing a simple, customizable adapter.
  • Observable139 10 - The easiest way to observe values.
  • PromiseKit9k 1k - Async promise programming lib.
  • ReactiveCocoa21k 4k - ReactiveCocoa (RAC) is a Cocoa framework inspired by Functional Reactive Programming. It provides APIs for composing and transforming streams of values over time.
  • Reactor179 13 - Powering your RAC architecture.
  • ReactorKit582 40 - A framework for reactive and unidirectional application architecture.
  • ReduxSwift33 3 - Predictable state container.
  • ReSwift4k 349 - Unidirectional Data Flow.
  • RxSwift13k 2k - Microsoft Reactive Extensions (Rx) for Swift and iOS/OSX platform.
  • SignalKit256 22 - Event and binding framework.
  • Signals263 54 - Replaces delegates and notifications.
  • Snail37 1 - An Observables framework.
  • SwiftEventBus557 77 - A publish/subscribe event bus optimized for iOS.
  • Tempura - A holistic approach to iOS development, inspired by Redux and MVVM.
  • VueFlux124 5 - Unidirectional Data Flow State Management Architecture - Inspired by Vuex and Flux.
  • When88 14 - A lightweight implementation of Promises.

Files

back to top

  • FileBrowser1k 123 - Powerful file browser for iOS.
  • FileKit1k 133 - Simple and expressive file management.
  • FileProvider222 49 - FileManager replacement for Local, iCloud and Remote (WebDAV/FTP/Dropbox/OneDrive/SMB2) files for iOS/tvOS and macOS.
  • KZFileWatchers800 48 - A micro-framework for observing file changes, both local and remote.
  • PathKit871 113 🐧 - Effortless path operations.
  • SKQueue19 3 - Monitor changes to files and directories using kernel event notifications (kqueue).

Fonts

A collection of font related snippets. back to top

  • FontAwesome.swift976 198 - Use FontAwesome in your projects.
  • FontBlaster912 71 - Programmatically load custom fonts into your iOS app.
  • GoogleMaterialDesignIcons395 79 - Google Material Design Icons Font for iOS.
  • GoogleMaterialIconFont139 22 - Google Material Icon Font.
  • Inkwell201 8 - An inkwell to use custom fonts on the fly.
  • IoniconsKit295 21 - Use ionicons as UIImage / UIFont in your projects.
  • OcticonsKit33 4 - Use Octicons as UIImage / UIFont in your projects.
  • OpenSansSwift44 7 - OpenSans.
  • Swicon36 10 - Use 1600+ icons from FontAwesome and Google Material Icons (and even your own customized icons) in your project.
  • SwiftFontName99 12 - OS font complements library. Localized font supported.
  • SwiftIconFont720 89 - Fontawesome, Iconic, Ionicons, Octicon ports.
  • SwiftIcons389 22 - Library for Font Icons: dripicons, emoji, font awesome, icofont, ionicons, linear icons, map icons, material icons, open iconic, state, weather.
  • UIFontComplete1k 39 - Font management (System & Custom) for iOS and tvOS.

Game Engine

back to top

2D

back to top

Games

back to top

  • Sage276 29 🐧 - A cross-platform chess library.

Gesture

back to top

  • DBPathRecognizer1k 89 - db path recognizer for letters.
  • NiceGesture109 14 - Using UIGestureRecognizers in a intuitive way.
  • PeekPop2k 118 - Framework for backwards-compatible Peek and Pop.
  • SBShortcutMenuSimulator2k 199 - Allow the iPhone Simulator to test 3D Touch.
  • ShowTime3 1 - Show off your iOS taps and gestures for demos and videos with just one line of code.
  • SwiftyGestureRecognition - UIGestureRecognizers in Xcode Playgrounds.
  • SwipyCell126 19 - UITableViewCell implementing swiping to trigger actions (known from the Mailbox App).
  • Tactile633 37 - Attach function handlers to gesture and control events in a more expressive and safer way.

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

  • QuickActions188 5 - Wrapper for iOS Home Screen Quick Actions.

Bluetooth

Wrappers around CoreBluetooth back to top

  • Bleu762 44 - BLE (Bluetooth LE) for U.
  • BlueCap423 90 - Wrapper around CoreBluetooth and much more.
  • Bluejay522 14 - A simple framework for building reliable Bluetooth LE apps.
  • Bluetonium115 14 - Library that makes it easy to communicate with Bluetooth devices.
  • BluetoothKit467 95 - 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

  • ALCameraViewController2k 302 - Camera view controller with custom image picker and image cropping.
  • Fusuma2k 311 - Instagram-like photo browser and a camera feature.
  • NextLevel1k 99 - Rad Media Capture.
Barcode

Barcode, QR-code, other code readers back to top

Haptic Feedback

Libraries that involve the use of Haptic Feedback back to top

  • Haptica294 18 - Easy Haptic Feedback Generator.
  • TapticEngine247 18 - Generates haptic feedback vibrations on iOS device.

iBeacon

Interested in using iBeacon in your Swift project? Here some interesting resources. back to top

Sensors

Manage your device sensors in a faster and easier way back to top

  • MotionKit984 129 - iOS device sensors wrapper.

Images

An interesting list of image related libs.. back to top

  • Agrume224 63 - A lemony fresh iOS image viewer.
  • AlamofireImage3k 429 - AlamofireImage is an image component library for Alamofire.
  • APNGKit1k 136 - High performance and delightful way to play with APNG format in iOS.
  • AXPhotoViewer218 16 - An iPhone/iPad photo gallery viewer, useful for viewing a large (or small!) number of photos.
  • CTPanoramaView690 33 - A library that displays spherical or cylindrical panoramas with touch or motion based controls.
  • DTPhotoViewerController50 10 - A fully customizable photo viewer ViewController to display single photo or collection of photos, inspired by Facebook photo viewer.
  • FacebookImagePicker19 4 - Facebook album photo picker.
  • Filterpedia2k 136 - Core image filter.
  • FlexibleImage - A simple way to play with images.
  • gifu590 67 - Highly performant animated GIF support for iOS.
  • GPUImage 23k 286 - GPUImage 2 is a BSD-licensed Swift framework for GPU-accelerated video and image processing.
  • HanekeSwift5k 644 - A lightweight generic cache for iOS with extra love for images.
  • ImageLoader567 89 - A lightweight and fast image loader for iOS.
  • ImageScout901 86 - Implementation of fastimage - supports PNG, GIF, and JPEG.
  • ImageViewer1k 152 - 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.
  • KFSwiftImageLoader370 41 - An extremely high-performance, lightweight, and energy-efficient async web image loader with memory and disk caching for iOS and Watch.
  • Kingfisher12k 2k - Image download and caching.
  • LetterAvatarKit51 8 - A UIImage extension that generates letter-based avatars.
  • Lightbox221 50 - A convenient and easy to use image viewer for your iOS app.
  • MapleBacon4 2 - Image download and caching library.
  • MCScratchImageView55 8 - 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.
  • Misen124 7 - A script to support using Xcode Asset Catalog.
  • Moa255 26 - An image download extension of the image view for iOS, tvOS and macOS.
  • Nuke5k 334 - Advanced framework for loading, caching, processing, displaying and preheating images.
  • PASImageView174 37 - Async remote download your image and round them, automatically.
  • PassportScanner225 58 - 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.
  • Sharaku1k 81 - Image filtering UI library like Instagram.
  • Snowflake785 29 - Work with SVG.
  • SwiftGen-Assets - A tool to auto-generate enums for all your UIImages from your Assets Catalogs.
  • SwiftGif617 111 - A small UIImage extension with GIF support.
  • SwiftSVG883 88 - A single pass SVG parser with multiple interface options (String, NS/UIBezierPath, CAShapeLayer, and NS/UIView).
  • SwiftyGif702 79 - High performance GIF engine.
  • TextDrawer118 18 - A UIView allows you to add text with gesture on UIView or UIImage, support resize, rotate, move and edit.
  • TinyCrayon116 11 - A smart and easy-to-use image masking and cutout SDK for mobile apps.
  • Toucan2k 215 - Image processing api.
  • UIImageColors2k 126 - iTunes style color fetcher for UIImage.
  • Viewer69 2 - Image viewer (or Lightbox) with support for local and remote videos and images.
  • Vulcan281 12 - Multi image downloader with priority.
  • WDImagePicker69 38 - Image picker with customizable crop rectangle (getting update).
  • XAnimatedImage620 41 - XAnimatedImage is a performant animated GIF engine for iOS based on FLAnimatedImage.
  • YapImageManager41 6 - A high-performance image downloader — powered by YapDatabase.
  • ZImageCropper12 5 - 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

  • IHKeyboardAvoiding1k 104 - An elegant solution for keeping any UIView visible when the keyboard is being shown. No UIScrollView required.
  • IQKeyboardManager11k 2k - Codeless drop-in universal library allows to prevent issues of keyboard sliding up and cover UITextField/UITextView.
  • KeyboardHideManager36 3 - Codeless manager to hide keyboard by tapping on views for iOS.
  • Typist807 39 - 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-Swift673 108 🐧 - A collection of useful classes, structs and extensions to develop Apps faster.
  • C4iOS92 19 - Harnesses the power of native iOS programming with a simplified API.

Layout

Libs to help you with layout. back to top

  • BrickKit603 69 - Create complex and responsive layouts in a simple way.
  • FlexLayout191 16 - Nice and clean interface to the highly optimized Facebook yoga Flexbox implementation.
  • JustUiKit32 4 - iOS UI Kit With Android-Style. It is designed to make Android developers build iOS UI easily.
  • LayoutKit2k 169 - LayoutKit is a fast view layout library for iOS, macOS, and tvOS.
  • ManualLayout277 19 - Easy to use and flexible AutoLayout alternative for iOS 8+. Supports AsyncDisplayKit.
  • Neon4k 394 - A powerful programmatic UI layout framework.
  • PinLayout805 44 - Fast views layouting without auto layout. No magic, pure code, full control and blazing fast. Concise, intuitive, readable & chainable syntax. Works nicely with FlexLayout.
  • Static1k 75 - A simple static table views for iOS.
  • Stevia213 12 - Elegant view layout for iOS.
  • SwiftBox835 64 - Inspired by Flexbox, uses Facebook's css-layout.
  • ViewMonitor769 54 - Confirm view positions with executing app.

Auto Layout

Bored of using storyboard? Give a try to declarative auto layout libs. back to top

  • AutoLayoutPlus54 8 - A bit of steroids for AutoLayout.
  • Bamboo34 2 - Auto Layout (and manual layout) in one line.
  • Cartography6k 531 - Declarative auto layout lib for your project.
  • Cassowary80 5 - A linear constraint solving library using the same algorithm as AutoLayout.
  • Cupcake134 11 - An easy way to create and layout UI components for iOS.
  • EasyPeasy2k 64 - Auto Layout made easy.
  • FormationLayout65 6 - Auto Layout lib supports group layout and size classes.
  • KVConstraintKit117 12 - An Impressive Autolayout DSL for iOS, tvOS & OSX.
  • MisterFusion47 10 - DSL for AutoLayout, supports Size Class.
  • Mortar65 6 - A concise but flexible DSL for creating Auto Layout constraints and adding subviews.
  • PureLayout3k 478 - The ultimate API for iOS & OS X Auto Layout.
  • Restraint80 11 - Minimal Auto Layout.
  • SnapKit10k 1k - Autolayout DSL for iOS & OS X.
  • SwiftAutoLayout691 41 - Small DSL for autolayout.
  • Swiftstraints105 15 - Powerful auto-layout framework that lets you write constraints in one line of code.
  • TinyConstraints2k 101 - TinyConstraints is the syntactic sugar that makes Auto Layout sweeter for human use.

Localization

Frameworks that helps with localizing your app back to top

  • BartyCrouch277 38 - Incrementally update/translate your Strings files from Code and Storyboards/XIBs.
  • IBLocalizable390 27 - Localize your views directly in Interface Builder with IBLocalizable.
  • L10n-swift29 3 - Localization of an application with ability to change language "on the fly" and support for plural forms in any language.
  • LocalizationKit965 71 - Realtime dynamic localization of your app with remote management so you can manage maintain and deploy translations without resubmitting app.
  • Localize-Swift1k 146 - Localize apps using e.g. regular expressions in Localizable.strings.
  • NoOptionalInterpolation38 1 - Get rid of "Optional(...)" and "nil" in string interpolation. Easy pluralization.
  • Swifternalization508 50 - Localize apps using e.g. regular expressions in Localizable.strings.
  • 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 %@).

Location

back to top

  • STLocationRequest556 56 - An elegant and simple 3D Flyover Location Request Screen.

Logging

Utilities for writing to and reading from the device log back to top

  • AEConsole77 6 - Customizable Console UI overlay with debug log on top of your iOS App.
  • CleanroomASL - API for reading from & writing to the Apple System Log.
  • CleanroomLogger1k 103 - Configurable and extensible high-level logging API that is simple, lightweight and performant.
  • Dotzu1k 52 - Debbuger tool for iOS developer. Display logs, network request, device informations, crash logs while using the app.
  • Duration295 16 🐧 - Lightweight logging library focused on reporting timings for operations.
  • Evergreen - Most natural logging.
  • HeliumLogger63 28 🐧 - IBM's lightweight logging framework.
  • Log642 52 - A logging tool with built-in themes, formatters, and a nice API to define your owns.
  • Printer22 4 - A fancy logger for your next app.
  • Puree143 24 - A log collector for iOS.
  • QorumLogs833 94 - Logging Utility for Xcode & Google Docs.
  • Rainbow904 74 🐧 - Delightful console output.
  • SwiftyBeaver3k 269 🐧 - Multi-platform logging during development & release.
  • TinyConsole2k 50 - A tiny log console to display information while using your iOS app.
  • Watchdog473 47 - Utility for logging excessive blocking on the main thread.
  • WatchdogInspector430 18 - A logging tool to show the current framerate (fps) in the status bar of your iOS app.
  • Willow1k 69 - Willow is a powerful, yet lightweight logging library.
  • XCGLogger3k 439 - Full featured & Configurable logging utility with log levels, timestamps, and line numbers.

Maps

back to top

  • ArcKit118 8 - A location and activity recording framework for iOS.
  • Cluster1k 95 - 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.
  • GEOSwift86 15 - Make it easier to work with geographic models and calculate intersections, overlapping, projections etc.

Math

back to top

  • Arithmosophi50 5 - Set of protocols for Arithmetic and Logical operations.
  • BigInt156 12 - Arbitrary-precision arithmetic.
  • DDMathParser672 126 - DDMathParser makes it easy to parse a String and evaluate it as a mathematical expression.
  • PlotKit28 3 - Plots made easy.
  • SigmaSwiftStatistics498 38 - A collection of functions for statistical calculation.
  • swix176 20 - A general matrix language.
  • Upsurge100 25 - Simple and fast matrix and vector math.

Natural Language Processing

back to top

Network

A list of libs that allow you to decrease the amount of time spent dealing with http requests. back to top

  • agent660 68 - HTTP request agent.
  • Alamofire29k 6k 🐧 - Elegant networking.
  • APIKit1k 174 - Library for building type-safe web API client.
  • BigBrother479 24 - Automatically sets the network activity indicator for any performed request.
  • Ciao - Publish and discover services using mDNS (Bonjour, Zeroconf).
  • Conduit17 3 - Robust networking for web APIs.
  • Dratini27 4 - A neat network layer.
  • Heimdallr.swift194 27 - Easy to use OAuth 2 library for iOS.
  • Just1k 126 🐧 - HTTP for Humans (a python-requests style HTTP library).
  • Malibu269 22 - A networking library built on promises.
  • Moya8k 1k - Network abstraction layer.
  • NEKit1k 296 - A toolkit for Network Extension Framework.
  • NetClient26 7 - Versatile HTTP networking library.
  • Netfox2k 146 - A lightweight, one line setup, network debugging library.
  • OAuth2600 159 - oauth2 auth lib.
  • OAuthSwift1k 240 - OAuth library for iOS.
  • PeerKit715 74 - Framework for building event-driven, zero-config Multipeer Connectivity apps.
  • PerfectAPIClient - An API Client based on a network abstraction layer for the Perfect Server-Side Swift Framework
  • Pitaya922 107 🐧 - HTTP / HTTPS networking library just incidentally execute on machines.
  • Postal427 25 - Framework providing simple access to common email providers.
  • Reach - A simple class to check for internet connection availability.
  • Reachability.swift4k 549 - A replacement for Apple's Reachability with closures.
  • ResponseDetective2k 72 - A non-intrusive framework for intercepting any outgoing requests and incoming responses between your app and server for debugging purposes.
  • ShadowsocksX-NG4k 872 - 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.
  • SwiftHTTP2k 408 - NSURLSession wrapper.
  • SwiftyOAuth461 24 - A small OAuth library with a built-in set of providers.
  • Transporter464 43 - A tiny library makes uploading and downloading easier.
  • TRON406 40 - Lightweight network abstraction layer, written on top of Alamofire.

HTML

Need to manipulate contents from html easily? back to top

  • Fuzi596 88 - A fast & lightweight XML/HTML parser with XPath & CSS support.
  • Ji742 60 - XML/HTML parser.
  • Kanna1k 147 - Another XML/HTML parser.
  • SwiftSoup477 41 🐧 - HTML Parser, with best of DOM, CSS, and jquery.
  • WKZombie871 56 - Headless browser.

Messaging Protocol

back to top

Socket

back to top

  • BlueSocket651 135 🐧 - IBM's low level socket framework.
  • RxWebSocket43 7 - Reactive WebSockets.
  • Socket.IO3k 486 🐧 - Socket.IO client for iOS/OS X.
  • SocketIO-Kit320 28 - Socket.io iOS and OSX Client.
  • sockets78 11 🐧 - TCP, UDP; Client, Server; Linux, OS X.
  • Starscream4k 528 - Websockets for iOS and OSX.
  • SwiftDSSocket23 5 - Asynchronous socket framework built atop DispatchSource.
  • SwiftSocket533 168 - Simple TCP socket library.
  • SwiftWebSocket829 114 - 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

  • Ambassador35 8 - Super lightweight web framework based on SWSGI.
  • Blackfire11 3 🐧 - A minimal, fast and unopinionated web framework.
  • Curassow402 52 🐧 - HTTP server using the pre-fork worker model.
  • Dynamo65 3 🐧 - High performance web server supporting dynamic content.
  • Embassy94 8 🐧 - Super lightweight async HTTP server library.
  • Express966 60 🐧 - Web Application framework, supporting both Synchronous and Asynchronous (Futures based) styles. Inspired by Play framework and Express.js.
  • Frank32 1 🐧 - Frank is a DSL for quickly writing web applications.
  • http4swift30 7 🐧 - A simple HTTP server.
  • Kitura7k 604 🐧 - IBM's web framework and server for web services.
  • Kunugi40 1 🐧 - Minimal web framework and middleware.
  • Lightning 🐧 - Multiplatform Single-threaded Non-blocking Web and Networking Framework.
  • Noze.io246 13 🐧 - Evented I/O streams like Node.js.
  • Perfect13k 1k 🐧 - Server-side Swift. The Perfect library, application server, connectors and example apps.
  • swifter547 146 🐧 - Http server with routing handler.
  • Swifton2k 109 🐧 - A Ruby on Rails inspired Web Framework that runs on Linux and OS X.
  • SwiftyHTTP206 33 - A simple GCD based HTTP client and server.
  • Taylor1k 106 - A lightweight library for writing HTTP web servers.
  • Trevi64 5 - A powerful Web Application Server Framework Project.
  • Vapor9k 654 🐧 - Elegant web framework that works on iOS, OS X, and Ubuntu.
  • XcodeServerSDK - Access Xcode Server API.
  • Zewo1k 104 🐧 - Server-Side Swift.

OCR

back to top

  • SwiftOCR3k 249 - Neural Network based OCR lib.

Optimization

back to top

  • Unreachable82 1 🐧 - Unreachable code path optimization hint.

PDF

back to top

  • PDFGenerator228 34 - A simple Generator of PDF. Generate PDF from view(s) or image(s).
  • SimplePDF84 14 - Create a simple PDF effortlessly.
  • UXMPDFKit114 42 - A PDF viewer and annotator that can be embedded in iOS applications.

Quality

back to top

  • IBLinter494 8 - A linter tool for Interface Builder.
  • SwiftLint9k 970 - A tool to enforce coding conventions.
  • Swimat742 69 - Xcode plugin to format code.
  • Tailor1k 46 🐧 - Cross-platform static analyzer that helps you to write cleaner code and avoid bugs.

Scripting

back to top

  • Marathon1k 66 - Easy way to create and manage scripts.

SDK

back to top

Security

back to top

Cryptography

Deal with cryptography method easily back to top

  • CryptoSwift5k 722 🐧 - Crypto related functions and helpers.
  • IDZSwiftCommonCrypto357 66 - A wrapper for Apple's Common Crypto library.
  • RNCryptor3k 502 - CCCryptor (Apple's AES encryption) wrappers for iOS and Mac.
  • SCrypto - Elegant Swift interface to access the CommonCrypto routines.
  • Siphash3 2 - Simple and secure hashing with the SipHash algorithm.
  • SweetHMAC30 6 - A tiny and easy to use class to encrypt strings using HMAC algorithms.
  • Swift-Sodium165 61 - Interface to the Sodium library for common crypto operations for iOS and OS X.
  • SwiftSSL92 8 - Crypto toolkit.

Keychain

back to top

  • keychain-swift69 10 - Helper functions for saving text in Keychain securely for iOS, OS X, tvOS and watchOS.
  • KeychainAccess3k 415 - Simple wrapper for Keychain that works on iOS and OS X.
  • KeyClip49 9 - Keychain framework for iOS.
  • Latch11 8 - A simple Keychain Wrapper for iOS.
  • Locksmith2k 252 - A powerful, protocol-oriented library for working with the iOS Keychain.
  • SwiftKeychainWrapper470 136 - Simple static wrapper for the iOS Keychain to allow you to use it in a similar fashion to user defaults.

Streaming

back to top

  • Live2k 296 - Demonstrate how to build a live broadcast app.

Styling

back to top

  • Ambience359 10 - Brightness aware accessibility theme switching without coding.
  • Stylist - Define UI styles in a hot-loadable external yaml or json file.
  • SwiftTheme912 104 - Powerful theme/skin manager for iOS 8+.
  • Themes151