Skip to content

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

License

Notifications You must be signed in to change notification settings

Roman-Scherbakov/awesome-swift

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Awesome Swift

Awesome Swift

Get the app Awesome Linux
Download on the App Store Awesome 🐧 Linux Ready

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

Third party Guides

Style Guides

Boilerplates

  • SwiftBoilerplate - Swift boilerplate for communication between iOS app and watchKit.
  • 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

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

Vim

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

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).
  • Conche - Swift build system and dependency manager.
  • 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.
  • SwiftHub - A universal app you can use to browse the newest Swift repositories on Github.
  • swiftier - Quick-and-dirty Objective-C to Swift translator.

Libs

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

Animation

Libs to help with animation

  • 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.
  • Morgan - An always growing animation set.
  • Presentation - A Swift library to help you to make tutorials, release notes and animated pages.
  • Spring - A library to simplify iOS animations in Swift.
  • Walker - An animation engine to make your animations easy and more readable.

App Routing

Internal app routing systems.

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

Audio

Libs to work with audio

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

  • Voucher - A simple library to make authenticating tvOS apps easy via their iOS counterparts.

API

Quick libs to get access to third party API services

Bluetooth

*Wrappers around CoreBluetooth

  • BlueCap - BlueCap provides a swift wrapper around CoreBluetooth and much more.
  • BluetoothKit - A much simpler, high-level Swift API to allow easy communication between iOS devices using Bluetooth 4.0 LE.

Camera

Awesome camera libs

  • 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

  • Chatto - A lightweight framework to build chat applications, made in Swift.

Colors

Interesting snippets related to color management and utility.

Command Line

Create command line applications.

  • Commander 🐧 - Compose beautiful command line interfaces in Swift.
  • CommandLine 🐧 - A pure Swift library for creating command-line interfaces.
  • Phiole - Allow to write or read from standards stream in swift for CLI applications.
  • Swiftline - A set of tools to help you create command line applications.
  • SwiftyTextTable 🐧 - A lightweight library to generate text tables.

Concurrency

Easier ways to work with concurrency.

  • Venice 🐧 - Communicating sequential processes (CSP) for Swift 2 (Linux ready).

Data Management

Core Data

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

  • 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.
  • CoreDataOperation - a safe, asynchronous CoreData operation class.
  • CoreStore - simple and elegant way to handle CoreData in Swift.
  • CoreValue - Lightweight Framework for using Core Data with Value Types.
  • 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

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

Realm

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

Files

JSON

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

  • 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.
  • Decodable 🐧 - 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 🐧 - 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.
  • SwiftMapper - JSON Mapper.
  • SwiftyJSON 🐧 - 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

  • 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

SQLite

Are you interested in storing your app data using SQLite? Here are some interesting resources.

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

SQL drivers

XML

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

  • AEXML - xml wrapper.
  • AlamofireXmlToObjects - An Alamofire extension for fetching an XML feed and parsing it into objects.
  • Fuzi - A fast & lightweight XML/HTML parser with XPath & CSS support in Swift 2.
  • SWXMLHash - Simple XML parsing in Swift.
  • XMLParser - A lightweight XMLParser for assembling and parsing XML values written for iOS 8+ in Swift 2.

ZIP

  • Zip - Swift framework for zipping and unzipping files.

Other

Other ways to persist data

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

Date

Handle data formatting easily.

Documentation

Generate documentation for Swift code

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

  • SMBus-swift 🐧 - Communicate with SMBus/I2C devices.
  • SwiftyGPIO 🐧 - Interact with Linux GPIO/SPI/PWM on ARM.

Peripherals

Interact with specific external peripherals.

Events

Alternatives to NSNotificationCenter, Key-Value-Observation, or delegation.

  • 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.
  • PureFutures - Futures and Promises library.
  • 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.
  • Safe - A modern concurrency and synchronization for Swift.
  • SignalKit - Swift event and binding framework.
  • Signals - replaces delegates and notifications.
  • SSEventFlow - A type safe alternative to NSNotification, inspired by Flux.
  • SwiftEventBus - A publish/subscribe event bus optimized for iOS.
  • When - A lightweight implementation of Promises in Swift.

Fonts

A collection of font related snippets.

Gesture

  • 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.
  • SwipyCell - Easy to use 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.

iBeacon

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

  • iBeacon - iBeacon implementation in Swift.

Images

An interesting list of image related libs..

  • 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.
  • DePict - functional wrapper for CoreGraphics.
  • Filterpedia - core image filter
  • gifu - highly performant animated GIF support for iOS in Swift.
  • 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.
  • 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.
  • SwiftColorArt - font schema generator according image colours.
  • 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)
  • 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.
  • XAnimatedImage - XAnimatedImage is a performant animated GIF engine for iOS written in Swift based on FLAnimatedImage

Keyboard

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

Key Value Coding

Libraries for key-value coding in Swift

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

Kit

Libraries for coding with a simplified API

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

Layout

Libs to help you with layout.

  • 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.
  • UIViewprint - Swift iOS view layout reimagined.
  • ViewMonitor - Confirm view positions with executing app.

Auto Layout

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

  • AutoLayoutPlus - A bit of steroids for AutoLayout, powered by Swift.
  • Cartography - declarative auto layout lib for your project.
  • 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.
  • Swift-iOS-Localize-Constraint - localize constraint on the fly to support RTL and LTR with same view.
  • SwiftAutoLayout - a small DSL for autolayout.
  • Swiftstraints - Powerful auto-layout framework that lets you write constraints in one line of code.
  • SwiftyLayout - Lightweight mathematical declarative auto-layout framework for Swift.
  • Tails - declarative autolayout for ios app written in swift.
  • VFLToolbox - fancy Swift implementation of the Visual Format Language.

Localization

Frameworks that helps with localizing your app

  • BartyCrouch - Keep Storyboard/XIB localizations up-to-date or machine translate strings files with ease.
  • 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 %@).

Logging

Utilities for writing to and reading from the device log

  • AELog - Simple, lightweight and flexible debug logging framework written in Swift.
  • AEConsole - Customizable Console UI overlay with debug log on top of your iOS App.
  • CleanroomASL 🐧 — Low-level Swift API for writing to and reading from the Apple System Log daemon.
  • CleanroomLogger 🐧 — Configurable and extensible high-level logging API that is simple, lightweight and performant.
  • Duration 🐧 - Lightweight logging library focused on reporting timings for operations.
  • HeliumLogger 🐧 - 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 🐧 - Delightful console output for Swift developers.
  • Swell - a logging utility for Swift.
  • SwiftBeaver 🐧 - Colorful, lightweight & fast logging in Swift 2.
  • swiftRemoteLogger - Remote logging easy as 1..2..3 in Swift.
  • Watchdog - A Swift utility for logging excessive blocking on the main thread.
  • XCGLogger - Full featured & Configurable logging utility with log levels, timestamps, and line numbers.

Maps

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

Location

Math

  • 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.
  • Easy-Cal-Swift - Overload +-*/ operator for Swift, make it easier to use (and not so strict).
  • 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.

  • agent - http request agent.
  • Alamofire 🐧 - 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 - 🚀 Elegant API Abstraction for Swift.
  • GRequest - http request handler.
  • 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).
  • ModestProposal - an HTTP toolbox.
  • Moya - network abstraction layer.
  • Net - an httprequest wrapper.
  • Netfox - A lightweight, one line setup, network debugging library in Swift.
  • NetKit - A Concise HTTP Framework in Swift.
  • NKMultipeer - A testable abstraction over multipeer connectivity
  • 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 🐧 - 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.
  • RestEssentials - An extremely lightweight REST and JSON library for Swift.
  • RSNetworking - Network library written purely in Swift.
  • Siesta Elegant 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.
  • Transporter - A tiny library makes uploading and downloading easier.
  • YYHRequest-Swift - http request in async.

Html

Need to manipulate contents from html easily?

  • Ji - an XML/HTML parser for Swift.
  • Kanna - another XML/HTML parser for Swift.
  • WKZombie - Headless browser

Webserver

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

  • Aeon - GCD based HTTP server for Swift 2.
  • Curassow 🐧 - Swift HTTP server using the pre-fork worker model.
  • Blackfish 🐧 - HTTP Webserver inspired by Express.js.
  • Dynamo & DynamoLinux 🐧 - High Performance (nearly)100% Swift Web server supporting dynamic content.
  • Express 🐧 - Swift Web Application framework, supporting both Synchronous and Asynchronous (Futures based) styles. Inspired by Play framework and Express.js.
  • Frank 🐧 - Frank is a DSL for quickly writing web applications in Swift.
  • http4swift 🐧 - A simple HTTP server written in Swift.
  • Kitura 🐧 - IBM's web framework and server for web services written in Swift.
  • Kunugi 🐧 - Minimal web framework and middleware for Swift.
  • NetworkObjects - REST HTTP Server written in Swift. Builds REST API from Core Data.
  • Perfect 🐧 - 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 🐧 - Http server written in Swift with routing handler.
  • SwiftyHTTP - A simple GCD based HTTP client and server, written in 'pure' Swift.
  • Swifton 🐧 - A Ruby on Rails inspired Web Framework for Swift that runs on Linux and OS X.
  • Taylor - A lightweight library for writing HTTP web servers with Swift.
  • Trevi - A powerful Swift Web Application Server Framework Project.
  • Vapor 🐧 - Elegant web framework for Swift that works on iOS, OS X, and Ubuntu.
  • XcodeServerSDK - Access Xcode Server API with native Swift objects.
  • Zewo 🐧 - Server-Side Swift.

Socket

  • BlueSocket 🐧 - IBM's low level socket framework.
  • Socket.IO 🐧 - Socket.IO client for iOS/OS X.
  • SocketIO-Kit - Socket.io iOS and OSX Client.
  • Socks 🐧 - 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 🐧 - WebSockets server for Swift 2.2 on Linux.

Quality

  • 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 🐧 - Cross-platform static analyzer for Swift that helps you to write cleaner code and avoid bugs.

Security

Cryptography

Deal with cryptography method easily in Swift

  • CryptoSwift 🐧 - 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] (https://github.com/Zewo/OpenSSL) 🐧 - 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

  • 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

Sensors

Manage your device sensors in a faster and easier way

System

  • Deviice - iOS library to detect the current device (and some other info)
  • SMCKit - Apple SMC library in Swift.
  • SystemKit - OS X system library in Swift.

Testing

A collection of testing frameworks.

  • 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.
  • OHHTTPStubs - A testing library designed to stub your network requests easily.
  • Quick 🐧 - Quick is a behavior-driven development framework for Swift and Objective-C.
  • Sleipnir - BDD-style framework for Swift.
  • Spectre 🐧 - BDD Framework for Swift.
  • SwiftCheck - A testing library that automatically generates random data for testing program properties.
  • SwiftMock - A mocking framework for Swift

Text

A collection of text projects.

  • Format - Swift formatting kit for numbers, addresses and colors.
  • Markdown 🐧 - Markdown templates for Swift. Based on Discount library (a library used deep down by GitHub markdown)
  • PySwiftyRegex - Easily deal with Regex in Swift in a Pythonic way.
  • Regex by brynbellomy - Swift wrapper class for NSRegularExpression. Includes a map() override and an operator (=~) for a more Swift-like API.
  • Regex by crossroadlabs 🐧 - very easy to use, Regular Expressions library with rich functionality. Features both operator =~ and method based APIs. Unit tests covered.
  • Roman 🐧 - Seamless Roman numeral conversion in Swift.
  • SmarkDown 🐧 - 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

  • 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

  • Async – Syntactic Swift sugar for Grand Central Dispatch.
  • Async.legacy – Syntactic Swift sugar for Grand Central Dispatch (iOS 7 and OS X 10.9 Mavericks compatible fork).
  • Atomic – A fast, flexible, well-tested wrapper for making values thread-safe.
  • 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.

  • AAWindow - UIWindow subclass to enable behavior like adaptive round-corners & detecting when Control Center is opened.
  • ActiveLabel - UILabel drop-in replacement supporting Hashtags (#), Mentions (@) and URLs (http://).
  • 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.
  • CKPickerView - A UIPickerView drop-in replacement with support for titles and Selection Indicator customization.
  • CountdownLabel - Simple countdown UILabel with morphing animation, and some useful function.
  • Drag and Drop UICollectionView - Dragging and Dropping data across multiple UICollectionViews (in Swift).
  • Dodo - A message bar for iOS written in Swift.
  • EPShapes - Create shapes(Polygons, Stars, Hearts, Arrows) in Interface builder.
  • EstMusicIndicator - Music play indicator like iTunes
  • EZLoadingActivity - Lightweight loading activity HUD.
  • EZSwipeController - 👆 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.
  • 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.
  • 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.
  • HoneycombView - HoneycombView is the iOS UIView for displaying like Honyecomb layout written by swift.
  • HUDKit - HUD interface as UIPresentationController.
  • HTYTextField - A UITextField with bouncy placeholder in Swift.
  • 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.
  • IncrementableLabel - An UILabel subclass to (de)increment numbers in an UILabel
  • JLToast - Toast for Swift.
  • KCHorizontalDial - A horizontal scroll dial like Instagram.
  • KCSelectionDialog - Simple selection dialog.
  • KDEDateLabel - An UILabel subclass that updates itself to make time ago's format easier.
  • 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.
  • LTMorphingLabel - Graceful morphing effects for UILabel written in Swift.
  • 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.
  • NSPageControl - PageControl Component for OS X.
  • 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 Apple’s rubber band effect in Swift.
  • SAHistoryNavigationViewController - iOS task manager like UI in UINavigationContoller.
  • Sapporo - A cellmodel-driven CollectionView manager for Swift.
  • 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.
  • StarryStars - Display & edit ratings, fully customizable from interface builder.
  • SwiftValidator - UIView validation framework.
  • SwiftyDrop - Lightweight dropdown message bar in Swift.
  • SwiftyWalkthrough - The easiest way to create a great walkthrough experience in your apps, powered by Swift.
  • SYBlinkAnimationKit - A blink effect animation framework.
  • TabPageViewController - Paging view controller and scroll tab view
  • TagCellLayout - UICollectionView layout for Tags with Left, Center & Right alignments.
  • TagListView - Simple but highly customizable iOS tag list view.
  • TCDInputView - A custom input view which is displayed when a text field becomes the first responder.
  • TextFieldEffects - Several ready to use effects for UITextFields
  • 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.
  • TZStackView - An iOS9 UIStackView layout component re-implemented for iOS 7 and 8.
  • URLEmbeddedView - Automatically caches the object that is confirmed the Open Graph Protocol, and displays it as URL embedded card.
  • WWElasticTextField - UITextField with elastic bounce effect on touch.

Alert

Libs to display alert, action sheet, notification, popup.

  • 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.
  • Notie - In-app notification in Swift, with customizable buttons and input text field.
  • SCLAlertView - Animated Alert view.
  • SweetAlert - Alert system.
  • SwiftOverlays - various popups and notifications.
  • Whisper - Messages and in-app notification made easy.
  • XLActionController - Fully customizable and extensible action sheet controller written in Swift 2.

Blur

  • Blurable - Apply a Gaussian Blur to any UIView with Swift Protocol Extensions.
  • PCLBlurEffectAlert - Swift AlertController with UIVisualeffectview.

Button

Form

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

Menu

Payment

  • Caishen - A Payment Card UI & Validator for iOS

Permissions

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

Transition

UITableView

  • AEAccordion - UITableViewController with accordion effect (expand / collapse cells).
  • CKTextFieldTableCell - UITableViewCell drop-in replacement with support of UITextField.
  • Doppelganger-Swift - Animated UITableView/UICollectionView dataSource changes.
  • 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.

Utility

Some interesting utilities to help you in your projects

  • __ - Underscore.js power in your Swift projects.
  • AEAppVersion - Simple and Lightweight iOS App Version Tracking written in Swift.
  • Alexandria A large set of convenience extensions for UIKit and Foundation.
  • ApplicationGroupKit - Share informations betweens your applications and your extensions using group identifier.
  • AppVersionMonitor - Monitor iOS app version easily.
  • ArrayDiff - a fast, UITableView/UICollectionView-compatible array diffing microframework.
  • AwesomeCache - manage cache easy in your Swift project.
  • Basis - Pure Declarative Programming in Swift.
  • Butterfly - A lightweight library for integrating bug-report and feedback features with shake-motion event.
  • Cache - Nothing but Cache.
  • CacheIsKing - A light memory caching library with native Swift support (structs/enums/etc.)
  • CallbackURLKit - Implementation of x-callback-url (Inter app communication) in swift
  • Carlos - A simple but flexible cache.
  • Collection Each - add each func to collections.
  • Compass — Compass helps you setup a central navigation system for your application.
  • Curry - Swift implementations for function currying.
  • Device.swift - Super-lightweight library to detect used device.
  • Device - Light weight tool for detecting the current device and screen size written in swift.
  • Dollar - a lib similar to Lo-Dash or Underscore in Javascript.
  • EVURLCache - if you want to make your app still works when it's offline.
  • ExSwift - a set of Swift extensions for standard types and classes.
  • EZSwiftExtensions - 😏 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.
  • Funky - Functions and operators for functional programming in Swift.
  • Honour - Simple and powerful Validation Library.
  • Hookah - Hookah is a functional library for Swift.
  • Inflection - The Optimus Prime of string inflection.
  • Lambdatron - Clojure(ish) interpreter in Swift.
  • LlamaKit - Collection of must-have functional Swift tools.
  • Mendel - Swift miliframework for implementing evolutionary/genetic algorithms.
  • Money - Currency formatter in Swift.
  • Oriole - A functional utility belt implemented as Swift 2.0 protocol extensions.
  • PDFGenerator - A simple Generator of PDF in Swift. Generate PDF from view(s) or image(s).
  • Pitchy - A simple way to get a music pitch from a frequency.
  • Pluralize.swift - Great Swift String Pluralize Extension.
  • 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.
  • 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.
  • SimplePDF - Create a simple PDF effortlessly.
  • SpecificationPattern - chainable rules useful for form validation.
  • 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.
  • Swift-AI - A high-performance AI and Machine Learning library written entirely in Swift.
  • SwiftBitmask - Bitmask<T> type intended as a replacement for RawOptionSet.
  • SwiftExP - Pure Swift 2.0 S-expression Parser.
  • SwiftGen-Storyboard - A tool to auto-generate Swift enums for all your Storyboards, Scenes and Segues constants + appropriate convenience accessors.
  • SwiftMemCache - Swift Memory Cache with namespace & TTL support.
  • SwiftRandom - A tiny generator of random data for swift.
  • SwiftRouter - A URL Router for iOS written in Swift 2.0
  • 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.
  • SwiftValidators - String validation for iOS developed in Swift (inspired by validator.js).
  • Swiftx - Functional data types and functions for any project.
  • SwiftyStateMachine - Swift µframework for creating state machines.
  • 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.
  • Versions - Helping you find inner peace when comparing version numbers in Swift.
  • VersionsTracker - Keeping track of version installation history including dates.
  • VersionTrackerSwift - Track which versions of your app a user has previously installed. Available for iOS, OS X and tvOS.
  • Wyrd - Asynchronous programming in Swift made easy. Wyrd is inspired by Promises/A+.

Video

  • Player - iOS video player in Swift, simple drop in component for playing and streaming media.

About

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

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Swift 100.0%