awesome-swift

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

2 years after

Awesome Swift

iOS App Awesome Linux Projects Updated
Download on the App Store Awesome :penguin: February 06, 2017

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

Style Guides

back to top

  • GitHub - Style guide & coding conventions for Swift projects.
  • LinkedIn - LinkedIn's Official Swift Style Guide
  • Raywenderlich - Raywenderlich Swift guide, a must read.
  • Swift-Best-Practices - Best practices for software development with Swift.

Third party Guides

back to top

Boilerplates

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

Benchmark

  • Benchmark - The Benchmark module provides methods to measure and report the time used to execute Swift code.
  • xcprofiler - Command line utility to profile compilation time of Swift project.

Demo Apps

Check out apps on these projects:

  • awesome-macOS - A curated list of awesome applications, softwares, tools and shiny things for macOS.
  • 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.
  • 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.
  • SwiftPlate - Easily generate cross platform Swift framework projects from the command line.
  • Toybox - Xcode Playground management made easy

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.

Algorithm

back to top

  • Algorithm - A toolset for writing algorithms and probability models.
  • swift-algorithm-club - Algorithms and data structures, with explanations.
  • SwiftLCS :penguin: - Swift implementation of the longest common subsequence (LCS) algorithm.

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.
  • FlightAnimator - Natural Blocks Based Core Animation Framework in Swift
  • 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.
  • JDAnimationKit - Animate easy and with less code with Swift.
  • 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.
  • Stellar - A Physical animation library for swift.
  • SwiftyAnimate - Composable animations in Swift.
  • Walker - An animation engine to make your animations easy and more readable.
  • ZoomTransitioning - 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

  • Appz - Launch external apps, and deeplink, with ease using Swift!
  • Compass - Compass helps you setup a central navigation system for your application.
  • SwiftRouter - A URL Router for iOS written in Swift 2.0
  • 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

  • Cely - A Plug-n-Play login framework written in swift.
  • 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.

Bots

Libs to build bot back to top

Cache

back to top

  • AwesomeCache - manage cache easy in your Swift project.
  • Cache - Nothing but Cache.
  • Carlos - A simple but flexible cache.
  • EVURLCache - if you want to make your app still works when it's offline.
  • SwiftMemCache - Swift Memory Cache with namespace & TTL support.

Chart

back to top

  • Charts - Beautiful charts for iOS/tvOS/OSX! The Apple side of the crossplatform MPAndroidChart.
  • PNChart-Swift - A simple and beautiful chart lib with animation.
  • SwiftChart - A simple line and area charting library for iOS. Supports multiple series, partially filled series and touch events.
  • TKRadarChart - A customizable radar chart in Swift

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.
  • CSS3ColorsSwift - A UIColor extension with CSS3 Colors name.
  • 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.
  • UIColor-WikiColors - All wikipedia colors implemented as easy to use UIColor extension.

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.
  • Progress.swift :penguin: - Add beautiful progress bars to your command line.
  • SwiftCLI :penguin: - A powerful framework that can be used to develop a CLI in Swift
  • Swiftline - A set of tools to help you create command line applications.
  • SwiftyTextTable :penguin: - A lightweight library to generate text tables.
  • TextTable - Easily print textual tables in Swift. Inspired by the Python tabulate library.

Concurrency

Easier ways to work with concurrency. back to top

  • Overdrive - Fast async task based API in Swift with focus on type safety, concurrency and multi threading.
  • Safe - Modern Concurrency and Synchronization for Swift.
  • Venice :penguin: - Communicating sequential processes (CSP) for Swift 2 (Linux ready).

Currency

back to top

  • Money - Currency formatter in Swift.

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 - Simple Core Data wrapper library.
  • Cadmium - A Swift framework that hides the complexity of managed object contexts.
  • CoreStore - simple and elegant way to handle Core Data.
  • CoreValue - Lightweight Framework for using Core Data with Value Types.
  • 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.
  • 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 CoreCata and Realm.
  • SuperRecord - 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

  • 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.
  • Elevate - JSON parsing framework that leverages Swift to make 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 in Swift.
  • Genome - A simple, type safe, failure driven mapping library for serializing JSON to models in Swift 2.0.
  • Gloss :penguin: - shiny JSON parsing library.
  • HandyJSON - A handy swift JSON-object serialization/deserialization libary for swift 2.x/3.x.
  • 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.
  • SwiftyJSON :penguin: - A lib for JSON in Swift with error handling.
  • SwiftyJSONAccelerator - OSX app to generate Swift 3 code for models for JSON.
  • Tailor - A super fast & convenient object mapper tailored for your needs.
  • Unbox - The easy to use Swift JSON decoder.

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

  • MongoKitten :penguin: - Pure Swift MongoDB Connector
  • Perfect-MongoDB :penguin: - A stand-alone Swift wrapper around the mongo-c client library, enabling access to MongoDB servers.
  • SwiftMongoDB - MongoDB connector for Swift.

ORM

back to top

  • fluent :penguin: - Simple ActiveRecord implementation for Swift

Other Data

Other ways to persist data back to top

  • CSVParser :penguin: - Fast Swift parser for CSV
  • EVCloudKitDao - Simplified access to CloudKit with support for subscriptions and local caching.
  • LeetCode_Swift - Solutions to LeetCode interview questions.
  • Pencil - Write any value to file.

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 3.
  • Perfect-MySQL :penguin: - A stand-alone Swift wrapper around the MySQL client library, enabling access to MySQL servers.
  • Perfect-PostgreSQL :penguin: - A stand-alone Swift wrapper around the libpq client library, enabling access to PostgreSQL servers.
  • PostgreSQL :penguin: - PostgreSQL adapter for Swift 3.

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.

YAML

back to top

  • YamlSwift - Load YAML and JSON documents using Swift.
  • Yams :penguin: - A Sweet and Swifty YAML parser.

ZIP

back to top

  • Zip - Swift framework for zipping and unzipping files.

Date

Handle data formatting easily. back to top

  • DateHelper - Simple date helper.
  • Datez - Swift library for dealing with NSDate, NSCalendar, NSDateComponents, and NSTimeInterval.
  • NSDate-Extensions - Practical real-world dates.
  • Punctual.swift :penguin: - Swift date handler.
  • SwiftDate - Easy NSDate Management in Swift.
  • SwiftMoment - A time and calendar manipulation library.
  • Timepiece - Intuitive NSDate extensions in Swift.
  • TrueTime.swift - Get the true current time impervious to device clock time changes. (NTP library for Swift)

Dependency Injection

Dependency injection libs back to top

  • Cleanse - A Lightweight Swift Dependency Injection Framework by Square.
  • Dip - A simple Dependency Injection Container.
  • Swinject - A dependency injection framework for Swift.
  • Typhoon - Dependency injection toolkit in Swift.

Device

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

  • Device - Light weight tool for detecting the current device and screen size written in swift.
  • Device.swift - Super-lightweight library to detect used device.
  • DeviceKit - DeviceKit is a value-type replacement of UIDevice.
  • Luminous - Get everything you need to know about the device.

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.

Email

back to top

  • Hedwig :penguin: - Send email to any SMTP server like a boss

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

  • Aftermath - Stateless message-driven micro-framework in Swift.
  • 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.
  • Katana - Swift apps a la React and Redux.
  • 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.
  • 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.
  • Reactor - Powering your RAC architecture.
  • ReduxSwift - Predictable state container for Swift apps too
  • ReSwift - Unidirectional Data Flow in Swift
  • RxSwift - Microsoft Reactive Extensions (Rx) for Swift and iOS/OSX platform.
  • SignalKit - Swift event and binding framework.
  • Signals - replaces delegates and notifications.
  • Snail - An Observables framework for swift.
  • SwiftEventBus - A publish/subscribe event bus optimized for iOS.
  • When - A lightweight implementation of Promises in Swift.

Files

back to top

  • FileBrowser - Powerful Swift file browser for iOS.
  • FileKit - Simple and expressive file management in Swift.
  • FileProvider - FileManager replacement for Local and Remote (WebDAV/Dropbox/OneDrive/SMB2) files for iOS/tvOS and macOS.
  • KZFileWatchers - A micro-framework for observing file changes, both local and remote.
  • PathKit :penguin: - Effortless path operations in Swift.

Fonts

A collection of font related snippets. back to top

  • FontAwesome.swift - Use FontAwesome in your Swift projects.
  • FontBlaster - Programmatically load custom fonts into your iOS app.
  • GoogleMaterialDesignIcons - google Material Design Icons Font for iOS.
  • GoogleMaterialIconFont - Google Material Icon Font for Swift and ObjC.
  • IoniconsKit - Use ionicons as UIImage / UIFont in your projects with Swifty manners
  • OcticonsKit - Use Octicons as UIImage / UIFont in your projects with Swifty manners.
  • OpenSansSwift - OpenSans for Swift.
  • Swicon - Use 1600+ icons from FontAwesome and Google Material Icons (and even your own customized icons) in your swift/iOS project!
  • SwiftFontName - OS font complements library. Localized font supported.
  • SwiftIconFont - Fontawesome, Iconic, Ionicons, Octicon porting for Swift.
  • UIFontComplete - Make working with UIFont faster and less error-prone.

Games

back to top

  • Sage :penguin: - A cross-platform chess library for Swift.

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.
  • SBShortcutMenuSimulator - Allow the iPhone Simulator to test 3D Touch
  • SwiftyGestureRecognition - UIGestureRecognizers in Xcode Playgrounds.
  • SwipyCell - UITableViewCell implementing swiping to trigger actions (known from the Mailbox App).
  • Tactile - 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

  • QuickActions - Swift wrapper for iOS Home Screen Quick Actions.

Bluetooth

Wrappers around CoreBluetooth back to top

  • BlueCap - BlueCap provides a swift wrapper around CoreBluetooth and much more.
  • Bluetonium - Bluetonium is a Swift Library that makes it easy to communicate with Bluetooth devices.
  • BluetoothKit - Easily communicate between iOS/OSX devices using BLE.
  • RxBluetoothKit - iOS & OSX Bluetooth library for RxSwift.

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.
Barcode

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

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

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.
  • FacebookImagePicker - Facebook album photo picker written in Swift.
  • 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.
  • Lightbox - A convenient and easy to use image viewer for your iOS app.
  • MapleBacon - Swift image download and caching library.
  • Misen - A script to support using Xcode Asset Catalog in Swift.
  • Moa - An image download extension of the image view for iOS, tvOS and macOS.
  • 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.
  • Sharaku - Image filtering UI library like Instagram.
  • Snowflake - SVG in Swift
  • 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.
  • Vulcan - Multi image downloader with priority in Swift
  • 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

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.
  • KeyboardHideManager - Codeless manager to hide keyboard by tapping on views for iOS written in Swift.

Kit

Libraries for coding with a simplified API back to top

  • BFKit-Swift :penguin: - A collection of useful classes, structs and extensions to develop Apps faster.
  • C4iOS - Harnesses the power of native iOS programming with a simplified API.

Layout

Libs to help you with layout. back to top

  • BrickKit - Create complex and responsive layouts in a simple way
  • 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 view layout for iOS.
  • 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.
  • IBLocalizable - Localize your views directly in Interface Builder with IBLocalizable
  • LocalizationKit - Realtime dynamic localization of your app with remote management so you can manage maintain and deploy translations without resubmitting app
  • Localize-Swift - Localize apps using e.g. regular expressions in Localizable.strings.
  • NoOptionalInterpolation - Get rid of "Optional(...)" and "nil" in string interpolation. Easy pluralization.
  • Swifternalization - Localize apps using e.g. regular expressions in Localizable.strings.
  • SwiftGen-L10n - A tool to auto-generate Swift enums for all your Localizable.strings keys (with appropriate associated values if those strings contains printf-format placeholders like %@).

Location

back to top

  • STLocationRequest - An elegant and simple 3D Flyover Location Request Screen in Swift.

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: - A Swift-based API for reading from & writing to the Apple System Log.
  • CleanroomLogger :penguin: - Configurable and extensible high-level logging API that is simple, lightweight and performant.
  • Dotzu - Debbuger tool for iOS developer. Display logs, network request, device informations, crash logs while using the app.
  • Duration :penguin: - Lightweight logging library focused on reporting timings for operations.
  • Evergreen - Most natural logging.
  • 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.
  • SwiftyBeaver :penguin: - Multi-platform logging during development & release in Swift 2 & 3.
  • TinyConsole - A tiny log console to display information while using your iOS app. Written in Swift 3.
  • 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.
  • Willow - Willow is a powerful, yet lightweight logging library written in Swift.
  • 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.
  • SigmaSwiftStatistics - A collection of functions for statistical calculation.
  • 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.
  • Just - HTTP for Humans (a python-requests style HTTP library in Swift).
  • Malibu - A networking library built on promises.
  • Moya - network abstraction layer.
  • NEKit - A toolkit for Network Extension Framework
  • 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.
  • Postal - Swift framework providing simple access to common email providers.
  • 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.
  • Siesta - Elegant abstraction for REST APIs that untangles stateful messes. An alternative to callback- and delegate-based networking.
  • SwiftHTTP - NSURLSession wrapper.
  • SwiftyOAuth - A small OAuth library with a built-in set of providers
  • Transporter - A tiny library makes uploading and downloading easier.
  • TRON - Lightweight network abstraction layer, written on top of Alamofire

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

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

  • Ambassador - Super lightweight web framework in Swift based on SWSGI.
  • Blackfire :penguin: - A minimal, fast and unopinionated web framework.
  • Curassow :penguin: - Swift HTTP server using the pre-fork worker model.
  • Dynamo :penguin: - DynamoLinux - High Performance (nearly)100% Swift Web server supporting dynamic content.
  • Edge :penguin: - A Swift Multiplatform Web and Networking Framework.
  • Embassy - Super lightweight async HTTP server library in pure Swift.
  • 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.
  • Noze.io :penguin: - Evented I/O streams a.k.a. Node.js for Swift.
  • Perfect :penguin: - Server-side Swift. The Perfect library, application server, connectors and example apps.
  • 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.

Natural Language Processing

back to top

OCR

back to top

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

PDF

back to top

  • PDFGenerator - A simple Generator of PDF in Swift. 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

back to top

  • 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.

SDK

back to top

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.
  • Siphash - Simple and secure hashing in Swift with the SipHash algorithm.
  • 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

Streaming

back to top

  • Live - Demonstrate how to build a live broadcast app.

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.
  • OHHTTPStubs - A testing library designed to stub your network requests easily.
  • PinpointKit - An open-source iOS library in Swift that lets your testers and users send feedback with annotated screenshots and logs using a simple gesture.
  • Quick :penguin: - Quick is a behavior-driven development framework 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.
  • UI Testing Cheat Sheet - Answers to common "How do I test this with UI Testing?" questions with a working example app.

Mock

back to top

  • Cuckoo - First boilerplate-free mocking framework for Swift
  • Kakapo - Dynamically Mock server behaviors and responses in Swift
  • Mockingjay - An elegant librar

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. ...