Total Pageviews

Thursday 11 August 2016

Awesome Swift

A collaborative list of awesome swift resources.
iOS App Awesome Linux Projects Updated
Download on the App Store Awesome :penguin: August 11, 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

Style Guides

back to top

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

Benchmark

  • Benchmark - The Benchmark module provides methods to measure and report the time used to execute Swift code.

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.
  • 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.
  • 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.
  • 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.
  • 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.
  • IKRouter - URLScheme router than supports auto creation of UIViewControllers.
  • 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
  • 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.

Cache

back to top
  • AwesomeCache - manage cache easy in your Swift project.
  • Cache - Nothing but 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.
  • 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.
  • 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).

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

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

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.

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

Files

back to top
  • FileBrowser - Powerful Swift file browser for iOS.
  • FileKit - Simple and expressive file management in Swift.
  • FileProvider - NSFileManager replacement for Local and Remote (WebDAV/Dropbox/SMB2) files.
  • 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

Games

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

Gesture

back to top

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.

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.
  • 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.
  • 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.
  • 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.
  • IBLocalizable - Localize your views directly in Interface Builder with IBLocalizable
  • 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
  • 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: - 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.
  • SwiftyBeaver :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.
  • 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.
  • 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.
  • 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.
  • 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.

Natural Language Processing

back to top
  • LangKit - Natural Language Processing (NLP) toolkit for Swift.

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.

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.

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.
  • 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 library for stubbing HTTP requests with ease in Swift.
  • Mockit - A simple mocking framework for Swift, inspired by the famous Mockito for Java.
  • SwiftMock - A mocking framework for Swift

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)
  • Pluralize.swift - Great Swift String Pluralize Extension.
  • 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.

Thread

Threading, task-based or asynchronous programming, Grand Central Dispatch (GCD) wrapper back to top
  • Async - Syntactic Swift sugar for Grand Central Dispatch.
  • AwaitKit - The ES7 Async/Await control flow for Swift.
  • 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.
  • GCDTimer - A well-tested GCD timer in Swift.

UI

A collection of pre-packaged transitions & cool ui stuffs. back to top
  • AECoreDataUI - Core Data driven UI made in Swift.
  • 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.
  • Dodo - A message bar for iOS written in Swift.
  • Drag and Drop UICollectionView - Dragging and Dropping data across multiple UICollectionViews (in Swift).
  • DropDown - A Material Design drop down for iOS written in Swift.
  • EPShapes - Create shapes(Polygons, Stars, Hearts, Arrows) in Interface builder.
  • EstMusicIndicator - Music play indicator like iTunes
  • 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.
  • 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.
  • ImagePicker - A nicely designed and super easy to use ImagePicker.
  • ImagePickerSheetController - A component that replicates the custom photo action sheet in iMessage.
  • InfoView - Swift based simple information view with pointed arrow.
  • JLToast - Toast for 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.
  • LeeGo - Declarative, configurable & highly reusable UI development as making Lego bricks.
  • LiquidLoader - Spinner loader components with liquid animation.
  • 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.
  • Panoramic - Panoramic facebook story clone.
  • 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.
  • 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.
  • StarryStars - Display & edit ratings, fully customizable from interface builder.
  • SurfingRefreshControl - Customizable pull-to-refresh control.
  • SwiftTheme - Powerful theme/skin manager for iOS 7+, written in swift.
  • SYBlinkAnimationKit - A blink effect animation framework.
  • TagCellLayout - UICollectionView layout for Tags with Left, Center & Right alignments.
  • TagListView - Simple but highly customizable iOS tag list view.
  • TouchVisualizer - Lightweight touch visualization library in Swift. A single line of code and visualize your touches.
  • Twinkle - a Swift and easy way to make elements in your iOS app twinkle.
  • URLEmbeddedView - Automatically caches the object that is confirmed the Open Graph Protocol, and displays it as URL embedded card.
  • WSTagsField - An iOS text field that represents different Tags.

Alert

Libs to display alert, action sheet, notification, popup. back to top
  • AlertKit - Alert with a single line of Swift.
  • EZAlertController - Easy Swift UIAlertController.
  • GoogleWearAlert - Google Wear Alert style.
  • GSAlert - If you want to use UIAlertController, but still need to support iOS 7 this project is for you.
  • GSMessage - A simple style messages/notifications for iOS 7+.
  • Hokusai - A library for a cool bouncy action sheet.
  • Kamagari - Simple UIAlertController builder class in Swift.
  • KRAlertController - A beautiful alert controller for your iOS.
  • Notie - In-app notification in Swift, with customizable buttons and input text field.
  • PMAlertController - PMAlertController is a great and customizable substitute to UIAlertController
  • SCLAlertView - Animated Alert view.
  • SweetAlert - Alert system.
  • SwiftOverlays - various popups and notifications.
  • SwiftyDrop - Lightweight dropdown message bar in Swift.
  • Whisper - Messages and in-app notification made easy.
  • XLActionController - Fully customizable and extensible action sheet controller written in Swift 2.

ApplicationDelegate

back to top
  • SuperDelegate - SuperDelegate provides a clean application delegate interface and protects you from bugs in the application lifecycle.

Blur

back to top
  • Blurable - Apply a Gaussian Blur to any UIView with Swift Protocol Extensions.
  • PCLBlurEffectAlert - Swift AlertController with UIVisualeffectview.
  • VisualEffectView - UIVisualEffectView subclass with tint color.

Button

back to top

Calendar

back to top

Form

back to top
  • Eureka - Elegant iOS form builder in swift.
  • Former - A fully customizable Swift 2 library for easy creating UITableView based form.
  • SwiftForms - form are now easy as 1.2.3!
  • SwiftyFORM - Forms that can be validated.

HUD

back to top
  • EZLoadingActivity - Lightweight loading activity HUD.
  • HUDKit - HUD interface as UIPresentationController.
  • KRProgressHUD - A beautiful and customizable progress HUD.
  • PKHUD - Reimplementation of the Apple HUD.

Label

back to top
  • ActiveLabel - UILabel drop-in replacement supporting Hashtags (#), Mentions (@) and URLs (http://).
  • CharacterText - Perform fx on UILabel.
  • CountdownLabel - Simple countdown UILabel with morphing animation, and some useful function.
  • FloatLabelFields - Text entry controls which contain a built-in title/label so that you don't have to add a separate title for each field.
  • GlitchLabel - Glitching UILabel for iOS.
  • IconLabel - UILabel with image placed from left or right.
  • IncrementableLabel - An UILabel subclass to (de)increment numbers in an UILabel
  • KDEDateLabel - An UILabel subclass that updates itself to make time ago's format easier.
  • LTMorphingLabel - Graceful morphing effects for UILabel written in Swift.
  • NumberMorphView - A label view for displaying numbers which can transition or animate using a technique called number tweening or number morphing.
  • Translucid - Lightweight library to set an Image as text background. Written in swift.
  • TriLabelView - A triangle shaped corner label view for iOS written in Swift.

Menu

back to top

Pagination

back to top

Payment

back to top
  • Caishen - A Payment Card UI & Validator for iOS

Permissions

back to top
  • Permission - A unified API to ask for permissions on iOS.
  • PermissionScope - A Periscope-inspired way to ask for iOS permissions.
  • Swift-Prompts - A Swift library to design custom prompts with a great scope of options to choose from.

StackView

back to top

Switch

back to top

Tab

back to top

TextField

back to top
  • HTYTextField - A UITextField with bouncy placeholder in Swift.
  • PasswordTextField - A custom TextField with a switchable icon which shows or hides the password and enforces good password policies.
  • TextFieldEffects - Several ready to use effects for UITextFields
  • UITextField-Navigation - UITextField-Navigation adds next, previous and done buttons to the keyboard for your UITextFields. Highly customizable!

Transition

back to top

UITableView

back to top
  • AEAccordion - UITableViewController with accordion effect (expand / collapse cells).
  • folding-cell - Folding cell transition.
  • Hakuba - A new way to manage UITableView without the code of UITableViewDelegate and UITableViewDataSource.
  • Persei - Animated top menu for UITableView / UICollectionView / UIScrollView written in Swift.
  • PullToRefreshSwift - PullToRefresh library.
  • Shoyu - Easier way to represent the structure of UITableView.

Walkthrough

back to top
  • BWWalkthrough - A class to build custom walkthroughs for your iOS App.
  • Gecco - Spotlight view for iOS
  • Instructions - A Swift library to create app walkthroughs and guided tours.
  • SwiftyWalkthrough - The easiest way to create a great walkthrough experience in your apps, powered by Swift.

Utility

Some interesting utilities to help you in your projects back to top
  • Alexandria - A large set of convenience extensions for UIKit and Foundation.
  • ArrayDiff - a fast, UITableView/UICollectionView-compatible array diffing microframework.
  • Basis - Pure Declarative Programming in Swift.
  • Butterfly - A lightweight library for integrating bug-report and feedback features with shake-motion event.
  • CallbackURLKit - Implementation of x-callback-url (Inter app communication) in swift
  • Carlos - A simple but flexible cache.
  • Cormorant - Clojure(ish) interpreter in Swift.
  • Curry - Swift implementations for function currying.
  • Dollar - a lib similar to Lo-Dash or Underscore in Javascript.
  • ExSwift - a set of Swift extensions for standard types and classes.
  • EZSwiftExtensions - :smirk: How Swift standard types and classes were supposed to work.
  • Focus - an Optics library for Swift (where Optics includes Lens, Prisms, and Isos) that is inspired by Haskell's Lens library.
  • Hookah - Hookah is a functional library for Swift.
  • LlamaKit - Collection of must-have functional Swift tools.
  • Mendel - Swift miliframework for implementing evolutionary/genetic algorithms.
  • Popsicle - Delightful, extensible Swift value interpolation framework.
  • Prelude - Swift framework of simple functional programming tools.
  • protobuf-swift - ProtocolBuffers for Swift.
  • Prototope - Swift library of lightweight interfaces for prototyping, bridged to JS.
  • Pythonic.swift - Pythonic tool-belt for Swift: a Swift implementation of selected parts of Python standard library.
  • R.swift - Tool to get strong typed, autocompleted resources like images, cells and segues.
  • RandomKit - Random data generation in Swift.
  • ReactiveArray - An array class implemented in Swift that can be observed using ReactiveCocoa's Signals.
  • ResourceKit - Enable autocomplete use resources in swift project.
  • Result - Swift type modelling the success/failure of arbitrary operations.
  • Runes - Functional operators for Swift - flatMap, map, apply, pure.
  • seguecode - seguecode is a support tool that provides compile-time safeties around building with UIStoryboards by exporting code regarding Scenes, Segues, Table and Collection Views and more.
  • Solar - Calculate sunrise and sunset times given a location.
  • SpriteKit+Spring - SpriteKit API reproducing UIView's spring animations with SKAction.
  • Stream - Lazy streams in Swift.
  • Sugar - Something sweet that goes great with your Cocoa.
  • Swift Sugar - objsugar ported to Swift.
  • SwiftBitmask - Bitmask<T> type intended as a replacement for RawOptionSet.
  • SwiftGen-Storyboard - A tool to auto-generate Swift enums for all your Storyboards, Scenes and Segues constants + appropriate convenience accessors.
  • SwiftLinkPreview - It makes a preview from an url, grabbing all information such as title, relevant texts and images.
  • SwiftRandom - A tiny generator of random data for swift.
  • SwiftSequence - A framework of extensions for SequenceType in Swift 2.0, inspired by Python's itertools.
  • SwiftSortUtils - Useful functions and extensions for sorting in Swift.
  • SwiftTweaks - Tweak your iOS app without recompiling.
  • Swiftx - Functional data types and functions for any project.
  • SwiftyStateMachine - Swift framework for creating state machines.
  • SwiftyUtils - All the reusable code that we need in each project.
  • Swiftz - Functional programming in Swift.
  • Then - Super sweet syntactic sugar for Swift initializers.
  • undefined - Nano framework which defines Haskell's undefined in Swift.
  • UTIKit - an UTI (Uniform Type Identifier) wrapper for Swift.

Validation

A collection of validation libs. back to top

Phone Numbers

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

Version Manager

back to top
  • AppVersionMonitor - Monitor iOS app version easily.
  • Siren - Inform users when App Store updates are available.
  • Version - Version represents and compares semantic versions in Swift.
  • Version Tracker Swift - Versions tracker for your iOS, OS X, and tvOS app.
  • Version Update - Check and update app's version for both AppStore & Fir.
  • Versions - Helping you find inner peace when comparing version numbers in Swift.

Video

back to top
  • MobilePlayer - A powerful and completely customizable media player for iOS.
  • Player - iOS video player in Swift, simple drop in component for playing and streaming media.
  • PlayerView - Easy to use video player using a UIView, manage rate of reproduction, screenshots and callbacks-delegate for player state.
FROM https://github.com/matteocrippa/awesome-swift
------

https://briteming.blogspot.com/2017/04/awesome-swift.html