awesome-swift

A collaborative list of awesome swift resources. Feel free to contribute!

3 years after

Awesome Swift

Awesome Swift

iOS App Awesome Linux Projects Updated
Download on the App Store Awesome :penguin: June 09, 2016

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.

Official Guides

back to top

  • Apple eBook - Official Apple eBook for swift beginners.

Style Guides

back to top

Third party Guides

back to top

Boilerplates

  • Swift Off - Swift starting point includes Firebase, Crashing Reporting, Signup & more.
  • Webview Boilerplate - Swift starting point for webview app.

Editor Support

Support for your favorite editors.

Emacs

back to top

  • swift-mode - Emacs Swift support, including partial flycheck error support.

Vim

back to top

  • swift-vim - play Swift with vim editor.
  • vim-polyglot - language pack for vim that includes vim-swift.
  • vim-swift - adds Swift support to vim. It covers syntax, indenting, and more.

Demo Apps

Check out apps on these projects:

  • awesome-osx - A curated list of awesome applications, softwares, tools and shiny things for OS X.
  • open-source-ios-apps - A collaborative list of open-source iOS Apps.

Dependency Managers

Dependency manager software for Swift.

  • Carthage - a new dependency manager for Swift.
  • CocoaPods - the most used dependency manager for Objective-C and Swift (Swift supported since version 0.36.0).
  • swift-package-manager - SPM is the Package Manager for the Swift Programming Language.

Patterns

Misc

Miscellaneous Swift related projects

  • generator-swift-framework - Scaffolds out a Xcode framework project based on Swift 2.0.
  • InteractivePlayground - A playground exploring the interactivity of Xcode 7.3 playgrounds.
  • MAIKit - A framework for sharing code between iOS and OS X.
  • sbconstants - A nifty tool to generate constants file by grabbing identifiers from storyboards in a Swift project.
  • swamp - Icon stamping in Swift.
  • swift-compiler-crashes - A collection of test cases crashing the Swift compiler.
  • SwiftGen - A suite of tools written in Swift to auto-generate Swift code for various assets of your project.

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

  • BrainCore - The iOS and OS X neural network framework
  • Swift-AI - An artificial intelligence and machine learning library in Swift.

Animation

Libs to help with animation back to top

  • Advance - A powerful animation framework for iOS.
  • Animo - SpriteKit-like animation builders for CALayers.
  • Cheetah - An animation library on iOS with Swift 2.
  • DKChainableAnimationKit - Easy to read and write chainable animations in Swift.
  • EasyAnimation - A Swift library to take the power of UIView.animateWithDuration(_:, animations:...) to a whole new level.
  • IBAnimatable - Design and prototype UI, interaction, navigation, transition and animation for App Store ready Apps in Interface Builder with IBAnimatable.
  • Interpolate - Swift Interpolation framework for creating interactive gesture-driven animations.
  • Morgan - An always growing animation set.
  • Presentation - A Swift library to help you to make tutorials, release notes and animated pages.
  • Pulsator - Pulse animation for iOS.
  • Spring - A library to simplify iOS animations in Swift.
  • Walker - An animation engine to make your animations easy and more readable.

API

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

App Routing

Internal app routing systems. back to top

  • Appz - Launch external apps, and deeplink, with ease using Swift!
  • IKRouter - URLScheme router than supports auto creation of UIViewControllers.
  • URLNavigator - Elegant URL Routing for Swift.

App Store

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

  • InAppFw - In App Purchase Manager framework.
  • SwiftyStoreKit - Lightweight In App Purchases Swift 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 Swift library for pitch detection of musical signals.
  • MusicKit - A framework for composing and transforming music in Swift.
  • TuningFork - A Simple Tuner for iOS.

Authentication

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

  • Simplicity - A simple way to implement Facebook and Google login in your iOS and OS X apps.
  • Voucher - A simple library to make authenticating tvOS apps easy via their iOS counterparts.

Bluetooth

Wrappers around CoreBluetooth back to top

  • BlueCap - BlueCap provides a swift wrapper around CoreBluetooth and much more.
  • BluetoothKit - Easily communicate between iOS/OSX devices using BLE.

Camera

Awesome camera libs back to top

  • ALCameraViewController - Camera view controller with custom image picker and image cropping.
  • Fusuma - Instagram-like photo browser and a camera feature.

Chat

Libs to get access to build chat app back to top

  • Chatto - A lightweight framework to build chat applications, made in Swift.
  • MessageKit - Eventually, a Swift re-write of JSQMessagesViewController.

Colors

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

  • Chameleon - Chameleon is a lightweight, yet powerful, color framework for iOS (Objective-C & Swift).
  • Colors - A pure Swift library for using ANSI codes.
  • DynamicColor - An extension to manipulate colors in Swift easily.
  • FlatUIColors - Flat UI color palette in Swift.
  • Google Material Color - Google Material Color Palette in Swift.
  • 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.
  • RandomColorSwift - An attractive color generator for Swift (ported from randomColor.js).
  • SwiftGen-Colors - A tool to auto-generate Swift enums for your UIColor constants.
  • SwiftHEXColors - HEX color handling as an extension for UIColor.
  • UIColor-Hex-Swift - Hex to UIColor converter.

Command Line

Create command line applications. back to top

  • Commander :penguin: - Compose beautiful command line interfaces in Swift.
  • CommandLine :penguin: - A pure Swift library for creating command-line interfaces.
  • Swiftline - A set of tools to help you create command line applications.
  • SwiftyTextTable :penguin: - A lightweight library to generate text tables.

Concurrency

Easier ways to work with concurrency. back to top

  • Safe - Modern Concurrency and Synchronization for Swift.
  • Venice :penguin: - Communicating sequential processes (CSP) for Swift 2 (Linux ready).

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

  • AERecord - super awesome Core Data wrapper library for iOS written in Swift.
  • AlecrimCoreData - a simple CoreData wrapper library written in Swift.
  • Cadmium - A Swift framework that hides the complexity of managed object contexts.
  • CoreStore - simple and elegant way to handle CoreData in Swift.
  • CoreValue - Lightweight Framework for using Core Data with Value Types.
  • DataKernel - DataKernel is a minimalistic wrapper around CoreData stack to ease persistence operations. No external dependencies.
  • Graph - An elegant data-driven framework for CoreData in Swift.
  • JSQCoreDataKit - A swifter Core Data stack.
  • QueryKit - an easy way to play with coredata filtering within your Swift projects.
  • SugarRecord - an easy with to work with coredata and realm.
  • SuperRecord - A small set of utilities to make working with CoreData and Swift a bit easier.

Data Structures

back to top

  • Algorithm - A toolset for writing algorithms and probability models in Swift.

Files

back to top

  • FileBrowser - Powerful Swift file browser for iOS.
  • FileKit - Simple and expressive file management in Swift.
  • PathKit :penguin: - Effortless path operations in Swift.

JSON

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

  • AlamofireJsonToObjects - An Alamofire extension which converts JSON response data into swift objects using Reflection.
  • AlamofireObjectMapper - An Alamofire extension which converts JSON response data into swift objects using ObjectMapper.
  • Alembic - Functional JSON parsing, mapping to objects, and serialize to JSON.
  • Alexander - An extremely simple JSON helper written in Swift.
  • Argo - Json parsing library.
  • Arrow - Elegant JSON Parsing in Swift.
  • Brick - A generic view model for both basic and complex scenarios.
  • Decodable :penguin: - JSON parsing for Swift 2.
  • EVReflection - Reflection based JSON encoding and decoding. Including support for NSDictionary, NSCoding, Printable, Hashable and Equatable
  • Genome - A simple, type safe, failure driven mapping library for serializing JSON to models in Swift 2.0.
  • Gloss :penguin: - shiny JSON parsing library.
  • Himotoki - A type-safe JSON decoding library purely written in Swift.
  • JASON - JSON parsing with outstanding performances and convenient operators.
  • json-swift - A basic library for working with JSON in Swift.
  • JSONCodable - Hassle-free JSON encoding and decoding in Swift.
  • JSONHelper - lightning fast JSON deserialization and value conversion library for iOS & OS X written in Swift.
  • JSONNeverDie - Auto reflection tool from JSON to Model, user friendly JSON encoder / decoder, aims to never die.
  • ModelRocket - An iOS framework for creating JSON-based models.
  • ObjectMapper - JSON object mapper.
  • Pistachio - Generic model framework for Swift.
  • PPJSONSerialization - Convert JSON string to Swift Class.
  • SwiftJSONParser - JSON parser.
  • SwiftyJSON :penguin: - A lib for JSON in Swift with error handling.
  • Tailor - A super fast & convenient object mapper tailored for your needs.
  • Unbox - The easy to use Swift JSON decoder.
  • YamlSwift - Load YAML and JSON documents using Swift.

Key Value Store

back to top

  • Palau - Swift based typesafe NSUserDefaults with custom rules.
  • Prephirences - Manage application preferences, NSUserDefaults, iCloud, Keychain and more.
  • Storez - Safe, statically-typed, store-agnostic key-value storage.
  • SwiftStore - A Key-Value store for Swift backed by LevelDB.
  • SwiftyUserDefaults - a cleaner, nicer syntax for NSUserDefaults.
  • Zephyr - Effortlessly synchronize NSUserDefaults over iCloud.

MongoDB

back to top

ORM

back to top

  • CoreModel :penguin: - Pure Swift ORM (Supports Linux)
  • fluent :penguin: - Simple ActiveRecord implementation for Swift

Other Data

Other ways to persist data back to top

  • EVCloudKitDao - Simplified access to CloudKit with support for subscriptions and local caching.

Realm

back to top

  • Realm - Realm is a mobile database: a replacement for Core Data & SQLite (https://realm.io).
  • Realm+JSON - A concise Mantle-like way of working with Realm and JSON.

SQL drivers

back to top

  • MySQL :penguin: - MySQL adapter for Swift 2.2.
  • MySQL Swift :penguin: - MySQL client library for Swift 2.2.
  • PostgreSQL :penguin: - PostgreSQL adapter for Swift 2.2.

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 for Swift.
  • SQLite.swift - A pure Swift framework wrapping SQLite3. Small. Simple. Safe.
  • SQLiteDB - sqlite wrapper for Swift.
  • SwiftData - simple and Effective SQLite Handling in Swift.

XML

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

  • AEXML - xml wrapper.
  • AlamofireXmlToObjects - An Alamofire extension for fetching an XML feed and parsing it into objects.
  • SWXMLHash - Simple XML parsing in Swift.
  • XMLParser - A lightweight XMLParser for assembling and parsing XML values written for iOS 8+ in Swift 2.

ZIP

back to top

  • Zip - Swift framework for zipping and unzipping files.

Date

Handle data formatting easily. back to top

Documentation

Generate documentation for Swift code back to top

  • jazzy - Soulful docs for Swift & Objective-C.
  • swiftdoc-parser - SwiftDoc.org header parsing and HTML generating utilities.

Embedded Systems

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

  • SMBus-swift :penguin: - Communicate with SMBus/I2C devices.
  • SwiftyGPIO :penguin: - 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 - a Swift binding framework.
  • BrightFutures - promise and future lib for swift.
  • Caravel - A Swift event bus for UIWebView and JS.
  • EmitterKit - an implementation of event emitters and listeners in swift.
  • Forbind - Functional chaining and Promises in Swift.
  • Future - A micro framework providing Future<T, Error>.
  • FutureKit - A Swift based Future/Promises Library.
  • Notificationz - Helping you own NSNotificationCenter by providing a simple, customizable adapter.
  • 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.
  • ReactKit - Swift Reactive Programming.
  • Reactor - Powering your RAC architecture.
  • RxSwift - Microsoft Reactive Extensions (Rx) for Swift and iOS/OSX platform.
  • SignalKit - Swift event and binding framework.
  • Signals - replaces delegates and notifications.
  • SwiftEventBus - A publish/subscribe event bus optimized for iOS.
  • When - A lightweight implementation of Promises in Swift.

Fonts

A collection of font related snippets. back to top

Gesture

back to top

  • DBPathRecognizer - db path recognizer for letters.
  • NiceGesture - Using UIGestureRecognizers in a intuitive way.
  • PeekPop - Swift framework for backwards-compatible Peek and Pop.
  • SwiftyGestureRecognition - UIGestureRecognizers in Xcode Playgrounds.
  • Tactile - Attach function handlers to gesture and control events in a more expressive and safer way.

iBeacon

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

  • iBeacon - iBeacon implementation in Swift.

Images

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

  • Agrume - A lemony fresh iOS image viewer written in Swift.
  • AlamofireImage - AlamofireImage is an image component library for Alamofire.
  • APNGKit - High performance and delightful way to play with APNG format in iOS.
  • CYFastImage - display images from web.
  • Filterpedia - core image filter
  • gifu - highly performant animated GIF support for iOS in Swift.
  • GPUImage 2 - GPUImage 2 is a BSD-licensed Swift framework for GPU-accelerated video and image processing.
  • HanekeSwift - A lightweight generic cache for iOS written in Swift with extra love for images.
  • ImageLoader - A lightweight and fast image loader for iOS written in Swift.
  • ImageScout - a Swift implementation of fastimage - supports PNG, GIF, and JPEG.
  • 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.
  • KFSwiftImageLoader - An extremely high-performance, lightweight, and energy-efficient pure Swift async web image loader with memory and disk caching for iOS and Watch.
  • Kingfisher - a lib for image download and caching.
  • MapleBacon - Swift image download and caching library.
  • Misen - A script to support using Xcode Asset Catalog in Swift.
  • Nuke - Advanced pure Swift framework for loading, caching, processing, displaying and preheating images.
  • PASImageView - async remote download your image and round them. automatically.
  • 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.
  • SkyFloatingLabelTextField - A beautiful and flexible text field control implementation of "Float Label Pattern".
  • SwiftGen-Assets - A tool to auto-generate Swift enums for all your UIImages 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)
  • SwiftyGif - High performance GIF engine.
  • TextDrawer - A UIView allows you to add text with gesture on UIView or UIImage, support resize, rotate, move and edit.
  • Toucan - Image processing api.
  • UIImageColors - iTunes style color fetcher for UIImage.
  • UIImageView-BetterFace-Swift - autoresize images and if any face discovered refine the position of the image.
  • WDImagePicker - Image picker with customizable crop rectangle (getting update).
  • XAnimatedImage - XAnimatedImage is a performant animated GIF engine for iOS written in Swift based on FLAnimatedImage

Key Value Coding

Libraries for key-value coding in Swift back to top

  • SwiftKVC - Key-Value Coding (KVC) for native Swift classes and structs.

Keyboard

Do you want to create your own customized keyboard? Here are some interesting resources back to top

Kit

Libraries for coding with a simplified API back to top

  • BFKit-Swift - A collection of useful classes 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

  • ManualLayout - Easy to use and flexible AutoLayout alternative for iOS 8+. Supports AsyncDisplayKit.
  • Neon - A powerful Swift programmatic UI layout framework.
  • Static - A simple static table views for iOS in Swift.
  • Stevia - Elegant way to manage layout.
  • SwiftBox - Flexbox in Swift, using Facebook's css-layout.
  • ViewMonitor - Confirm view positions with executing app.

Auto Layout

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

  • AutoLayoutPlus - A bit of steroids for AutoLayout, powered by Swift.
  • Cartography - declarative auto layout lib for your project.
  • EasyPeasy - Auto Layout made easy.
  • FormationLayout - Auto Layout lib supports group layout and size classes.
  • MisterFusion - A Swift DSL for AutoLayout. It can be used in both Swift and Objective-C, in addition, it supports Size Class.
  • Mortar - A concise but flexible Swift DSL for creating Auto Layout constraints and adding subviews.
  • PureLayout - The ultimate API for iOS & OS X Auto Layout.
  • Restraint - Minimal Auto Layout in Swift.
  • SnapKit - A Swift Autolayout DSL for iOS & OS X.
  • SwiftAutoLayout - a small DSL for autolayout.
  • Swiftstraints - Powerful auto-layout framework that lets you write constraints in one line of code.

Localization

Frameworks that helps with localizing your app back to top

  • BartyCrouch - Incrementally update/translate your Strings files from Code and Storyboards/XIBs.
  • Localize-Swift - Localize apps using e.g. regular expressions in Localizable.strings.
  • Swifternalization - Localize apps using e.g. regular expressions in Localizable.strings.
  • SwiftGen-L10n - A tool to auto-generate Swift enums for all your Localizable.strings keys (with appropriate associated values if those strings contains printf-format placeholders like %@).

Location

back to top

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.
  • CleanroomASL :penguin: - Low-level Swift API for writing to and reading from the Apple System Log daemon.
  • CleanroomLogger :penguin: - Configurable and extensible high-level logging API that is simple, lightweight and performant.
  • Duration :penguin: - Lightweight logging library focused on reporting timings for operations.
  • HeliumLogger :penguin: - IBM's lightweight logging framework.
  • Log - A logging tool with built-in themes, formatters, and a nice API to define your owns.
  • Puree - A log collector for iOS.
  • QorumLogs - Swift Logging Utility for Xcode & Google Docs.
  • Rainbow :penguin: - Delightful console output for Swift developers.
  • Swell - a logging utility for Swift.
  • SwiftBeaver :penguin: - Colorful, lightweight & fast logging in Swift 2.
  • Watchdog - A Swift 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.
  • XCGLogger - Full featured & Configurable logging utility with log levels, timestamps, and line numbers.

Maps

back to top

  • GEOSwift - The Swift Geographic Engine, make it easier to work with geographic models and calculate intersections, overlapping, projections etc.

Math

back to top

  • Arithmosophi - Set of protocols for Arithmetic and Logical operations.
  • DDMathParser - DDMathParser makes it easy to parse a String and evaluate it as a mathematical expression.
  • PlotKit - Plots made easy.
  • swix - A general matrix language.
  • Upsurge - Simple and fast matrix and vector math for Swift.

Network

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

  • agent - http request agent.
  • Alamofire :penguin: - elegant networking in Swift.
  • APIKit - a library for building type-safe web API client.
  • BigBrother - Automatically sets the network activity indicator for any performed request.
  • Endpoint - :rocket: Elegant API Abstraction for Swift.
  • Heimdallr.swift - Easy to use OAuth 2 library for iOS, written in Swift.
  • Just - HTTP for Humans (a python-requests style HTTP library in Swift).
  • Moya - network abstraction layer.
  • Net - an httprequest wrapper.
  • Netfox - A lightweight, one line setup, network debugging library in Swift.
  • OAuth2 - oauth2 auth lib.
  • OAuthSwift - Swift based OAuth library for iOS.
  • PeerKit - An open-source Swift framework for building event-driven, zero-config Multipeer Connectivity apps.
  • Pitaya :penguin: - A Swift HTTP / HTTPS networking library just incidentally execute on machines.
  • Reach - A simple class to check for internet connection availability in Swift.
  • Reachability.swift - A replacement for Apple's Reachability re-written in Swift with closures.
  • ResponseDetective - A non-intrusive framework for intercepting any outgoing requests and incoming responses between your app and server for debugging purposes.
  • RSNetworking - Network library written purely in Swift.
  • Siesta - egant abstraction for REST APIs that untangles stateful messes. An alternative to callback- and delegate-based networking.
  • Stargate - A communication channel from your Mac to your watch.
  • SwiftHTTP - NSURLSession wrapper.
  • SwiftyOAuth - A small OAuth library with a built-in set of providers
  • Transporter - A tiny library makes uploading and downloading easier.

HTML

Need to manipulate contents from html easily? back to top

  • Fuzi - A fast & lightweight XML/HTML parser with XPath & CSS support.
  • Ji - an XML/HTML parser for Swift.
  • Kanna - another XML/HTML parser for Swift.
  • WKZombie - Headless browser

Messaging Protocol

back to top

  • CocoaMQTT - MQTT for iOS and OS X written with Swift.

Socket

back to top

  • BlueSocket :penguin: - IBM's low level socket framework.
  • Socket.IO :penguin: - Socket.IO client for iOS/OS X.
  • SocketIO-Kit - Socket.io iOS and OSX Client.
  • Socks :penguin: - Pure-Swift Sockets: TCP, UDP; Client, Server; Linux, OS X.
  • Starscream - Websockets in swift for iOS and OSX.
  • SwiftSocket - simple TCP socket library.
  • SwiftWebSocket - A high performance WebSocket client library for swift.
  • WebSocket :penguin: - WebSockets server for Swift 2.2 on Linux.

Webserver

Would you like host a webserver in your device? Here you can find how to do it. back to top

  • Aeon - GCD based HTTP server for Swift 2.
  • Blackfish :penguin: - HTTP Webserver inspired by Express.js.
  • Curassow :penguin: - Swift HTTP server using the pre-fork worker model.
  • Dynamo :penguin: - DynamoLinux - High Performance (nearly)100% Swift Web server supporting dynamic content.
  • Express :penguin: - Swift Web Application framework, supporting both Synchronous and Asynchronous (Futures based) styles. Inspired by Play framework and Express.js.
  • Frank :penguin: - Frank is a DSL for quickly writing web applications in Swift.
  • http4swift :penguin: - A simple HTTP server written in Swift.
  • Kitura :penguin: - IBM's web framework and server for web services written in Swift.
  • Kunugi :penguin: - Minimal web framework and middleware for Swift.
  • NetworkObjects - REST HTTP Server written in Swift. Builds REST API from Core Data.
  • Perfect :penguin: - Server-side Swift. The Perfect library, application server, connectors and example apps.
  • Swift-Server - Currently, a very basic proof-of-concept Swift HTTP server that does not require Foundation.
  • swifter :penguin: - Http server written in Swift with routing handler.
  • Swifton :penguin: - A Ruby on Rails inspired Web Framework for Swift that runs on Linux and OS X.
  • SwiftyHTTP - A simple GCD based HTTP client and server, written in 'pure' Swift.
  • Tailor - A framework for building web apps using Apple's Swift programming language
  • Taylor - A lightweight library for writing HTTP web servers with Swift.
  • Trevi - A powerful Swift Web Application Server Framework Project.
  • Vapor :penguin: - Elegant web framework for Swift that works on iOS, OS X, and Ubuntu.
  • XcodeServerSDK - Access Xcode Server API with native Swift objects.
  • Zewo :penguin: - Server-Side Swift.

OCR

back to top

  • SwiftOCR - Neural Network based OCR lib written in swift.

Quality

back to top

  • SwiftFormat - Auto formatting Swift code, similar to Clang format.
  • SwiftLint - A tool to enforce Swift coding conventions for your Swift code.
  • Swimat - XCode plugin to format Swift code.
  • Tailor :penguin: - Cross-platform static analyzer for Swift that helps you to write cleaner code and avoid bugs.

Security

back to top

Cryptography

Deal with cryptography method easily in Swift back to top

  • CryptoSwift :penguin: - Crypto related functions and helpers for Swift implemented in Swift programming language.
  • IDZSwiftCommonCrypto - A wrapper for Apple's Common Crypto library written in Swift.
  • OpenSSL :penguin: - OpenSSL helpers for Swift 2.2 on Linux.
  • SweetHMAC - A tiny and easy to use Swift class to encrypt strings using HMAC algorithms.
  • Swift-Sodium - Swift interface to the Sodium library for common crypto operations for iOS and OS X.
  • SwiftSSL - add crypto toolkit in Swift.

Keychain

back to top

  • keychain-swift - Helper functions for saving text in Keychain securely for iOS, OS X, tvOS and watchOS.
  • KeychainAccess - Simple Swift wrapper for Keychain that works on iOS and OS X.
  • KeyClip - Keychain framework for iOS written in Swift.
  • Latch - A simple Swift Keychain Wrapper for iOS.
  • Locksmith - A powerful, protocol-oriented library for working with the iOS Keychain in Swift.
  • SwiftKeychainWrapper - a simple static wrapper for the iOS Keychain to allow you to use it in a similar fashion to user defaults.

TouchID

back to top

Sensors

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

System

back to top

  • SMCKit - Apple SMC library in Swift.
  • SystemKit - OS X system library in Swift.

Testing

A collection of testing frameworks. back to top

  • Buildasaur - Automatic testing of your Pull Requests on GitHub and BitBucket using Xcode Server.
  • CatchingFire - Test Library for Swift's Error Handling.
  • DVR - A simple network testing framework for Swift.
  • Erik - An headless browser to access and manipulate webpages using javascript allowing to run functional tests.
  • Fakery - Swift fake data generator.
  • Mockingjay - An elegant library for stubbing HTTP requests with ease in Swift.
  • Mockit - A simple mocking framework for Swift, inspired by the famous Mockito for Java.
  • OHHTTPStubs - A testing library designed to stub your network requests easily.
  • Quick :penguin: - Quick is a behavior-driven development framework for Swift and Objective-C.
  • Sleipnir - BDD-style framework for Swift.
  • Spectre :penguin: - BDD Framework for Swift.
  • SwiftCheck - A testing library that automatically generates random data for testing program properties.
  • SwiftMock - A mocking framework for Swift
  • UI Testing Cheat Sheet - Answers to common "How do I test this with UI Testing?" questions with a working example app.

Text

A collection of text projects. back to top

  • edhita - Fully open source text editor for iOS written in Swift.
  • Format - Swift formatting kit for numbers, addresses and colors.
  • Markdown :penguin: - Markdown templates for Swift. Based on Discount library (a library used deep down by GitHub markdown)
  • PrediKit - An NSPredicate DSL for iOS & OS X inspired by SnapKit and written in Swift.
  • PySwiftyRegex - Easily deal with Regex in Swift in a Pythonic way.
  • Reductio - Automatic summarizer text in Swift.
  • Regex by brynbellomy - Swift wrapper class for NSRegularExpression. Includes a map() override and an operator (=~) for a more Swift-like API.
  • Regex by crossroadlabs :penguin: - very easy to use, Regular Expressions library with rich functionality. Features both operator =~ and method based APIs. Unit tests covered.
  • RichEditorView - RichEditorView is a simple, modular, drop-in UIView subclass for Rich Text Editing.
  • Roman :penguin: - Seamless Roman numeral conversion in Swift.
  • SmarkDown :penguin: - Markdown processing for Swift, conforming to Gruber's standards.
  • SwiftString - A lightweight string extension for Swift.
  • SwiftVerbalExpressions - VerbalExpressions porting for swift
  • SyntaxKit - TextMate-style syntax highlighting.
  • TextAttributes - An easier way to compose attributed strings.

Phone Numbers

back to top

  • PhoneNumberKit - Swift framework for parsing, formatting and validating international phone numbers. Inspired by Google's libphonenumber.

Thread

Threading, task-based or asynchronous programming, Grand Central Dispatch (GCD) wrapper back to top

  • Async - Syntactic Swift sugar for Grand Central Dispatch.
  • Chronos - Grand Central Dispatch Utilities.
  • Dispatcher - Queues, timers, and task groups in Swift.
  • EKI - Make Grand Central Dispatch easy and fun to use (queue, task, group, timer and semaphore).
  • GCD - A wrapper of Grand Central Dispatch written in Swift.
  • GCDKit - Grand Central Dispatch simplified with Swift.

UI

A collection of pre-packaged transitions & cool ui stuffs. back to top

  • Adaptive Tab Bar - Adaptive tab bar.
  • AECoreDataUI - Core Data driven UI made in Swift.
  • AIFlatSwitch - Flat animated switch.
  • AMScrollingNavbar - Scrollable UINavigationBar that follows the scrolling of a UIScrollView.
  • BreakOutToRefresh - A playable pull to refresh view using SpriteKit.
  • BusyNavigationBar - A UINavigationBar extension to show loading effects.
  • BWWalkthrough - A class to build custom walkthroughs for your iOS App.
  • CharacterText - Perform fx on UILabel.
  • Charts - Beautiful charts for iOS/tvOS/OSX! The Apple side of the crossplatform MPAndroidChart.
  • Dodo - A message bar for iOS written in Swift.
  • Drag and Drop UICollectionView - Dragging and Dropping data across multiple UICollectionViews (in Swift).
  • EPShapes - Create shapes(Polygons, Stars, Hearts, Arrows) in Interface builder.
  • EstMusicIndicator - Music play indicator like iTunes
  • EZLoadingActivity - Lightweight loading activity HUD.
  • EZSwipeController - :point_up_2: UIPageViewController like Snapchat/Tinder/iOS Main Pages.
  • Fashion - Fashion accessories and beauty tools to share and reuse UI styles in a Swifty way.
  • Few.swift - Views as functions of their state.
  • FillableLoaders - Fillable loaders progress.
  • FlagKit - Beautiful flag icons for usage in apps and on the web.
  • FloatRatingView - Floating rating system.
  • GaugeKit - Customizable gauges. Easy reproduce Apple's style gauges.
  • Gecco - Spotlight view for iOS
  • Geometry - extensions for UIView.
  • GIFRefreshControl - A pull to refresh that supports GIF images as track animations.
  • GMStepper - A stepper with a sliding label in the middle.
  • GRMustache - Flexible Mustache templates for Swift.
  • Hexacon - A new way to display content in your app like the Apple Watch SpringBoard.
  • HoneycombView - HoneycombView is the iOS UIView for displaying like Honyecomb layout written by swift.
  • HTYTextField - A UITextField with bouncy placeholder in Swift.
  • HUDKit - HUD interface as UIPresentationController.
  • ImagePicker - A nicely designed and super easy to use ImagePicker.
  • ImagePickerSheetController - A component that replicates the custom photo action sheet in iMessage.
  • Instructions - A Swift library to create app walkthroughs and guided tours.
  • JLToast - Toast for Swift.
  • JTAppleCalendar - The final Apple calendar you will ever try. Built for iOS in Swift.
  • KCHorizontalDial - A horizontal scroll dial like Instagram.
  • KCSelectionDialog - Simple selection dialog.
  • 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. And you don't need to write any line of code for it, it all happens automatically.
  • KMPlaceholderTextView - A UITextView subclass that adds support for multiline placeholder.
  • KRProgressHUD - A beautiful and customizable progress HUD.
  • LiquidLoader - Spinner loader components with liquid animation.
  • LTJelloSwitch - UISwitch prototype.
  • 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 in Swift.
  • MaterialKit - Material design components.
  • MediumScrollFullScreen - Medium scroll style menubar.
  • MICountryPicker - Swift country picker with search option.
  • MPParallaxView - Apple TV Parallax effect in Swift.
  • MXParallaxHeader - Simple parallax header in Swift for UIScrollView.
  • MZFormSheetPresentationController - MZFormSheetPresentationController provides an alternative to the native iOS UIModalPresentationFormSheet, adding support for iPhone and additional opportunities to setup controller size and feel form sheet.
  • NextGrowingTextView - The next in the generations of 'growing textviews' optimized for iOS 7 and above.
  • NVActivityIndicatorView - Collection of nice loading animations.
  • Otafuku - Some utility classes to use WKWebView in Swift.
  • PageController - Infinite paging controller.
  • Panoramic - Panoramic facebook story clone.
  • PKHUD - Reimplementation of the Apple HUD.
  • PNChart-Swift - A simple and beautiful chart lib with animation.
  • PPSwiftGifs - a convenient way to show animated GIF images as a part of iOS GUI.
  • Reel search - Option list managed as a reel.
  • RubberBandEffect - Recreating Apples rubber band effect in Swift.
  • SAConfettiView - Easily add fun, multi-colored confetti to your app.
  • SAHistoryNavigationViewController - iOS task manager like UI in UINavigationContoller.
  • Sapporo - A cellmodel-driven CollectionView manager for Swift.
  • Scrollable-GraphView - An adaptive scrollable graph view for iOS to visualise simple discrete datasets. Written in Swift. Originally written for a small personal project.
  • SevenSwitch - iOS7 style drop in replacement for UISwitch.
  • Siren - Inform users when App Store updates are available.
  • SKPhotoBrowser - Simple PhotoBrowser/Viewer inspired by facebook, twitter photo browsers written in Swift.
  • Sonar - Cool radar-style view
  • Spots - Spots is a view controller framework that makes your setup and future development blazingly fast

Related Repositories

awesome-swift-and-tutorial-resources

awesome-swift-and-tutorial-resources

A curated list of awesome Swift resources and tutorial websites. Feel free to co ...

awesome-swift-1

awesome-swift-1

A collaborative list of awesome swift resources. Feel free to contribute! ...

awesome-swift-1

awesome-swift-1

A curated list of awesome Swift frameworks, libraries and software. ...


Top Contributors

dkhamsing matteocrippa kingiol READMEbot dileping phimage evermeer zenangst gkaimakas Mazyod mustafaibrahim989 marmelroy lexrus fhisa ReadmeCritic dasdom kciter tadija timothydang delba endodoug esttorhe nvzqz codeOfRobin neoneye vadymmarkov thii bradhilton eugenpirogoff thellimist