awesome-swift 0,7,8,19,12,0,27,0

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

Awesome Swift

iOS App Awesome Linux Projects Updated
Download on the App Store Awesome :penguin: August 03, 2017

Contributing

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

Contents

Guides

An awesome list of Swift related guides.

Newsletter

back to top

Official Guides

back to top

Style Guides

back to top

  • GitHub - Style guide & coding conventions.
  • LinkedIn - LinkedIn's Official Style Guide.
  • Raywenderlich - Raywenderlich guide, a must read.

Third party Guides

back to top

Boilerplates

REPL

  • IBM Swift Sandbox :penguin: - Interactive website that lets you write code and execute it in a server environment.

Editor Support

Support for your favorite editors.

Emacs

back to top

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

Vim

back to top

Benchmark

  • Benchmark - Provides methods to measure and report the time used to execute code.
  • xcprofiler - Command line utility to profile compilation time.

Converters

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

Demo Apps

Check out apps on these projects:

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

Patterns

Misc

Miscellaneous Swift related projects

  • generator-swift-framework - Scaffolds out a Xcode framework project.
  • 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 project.
  • SwagGen :penguin: - A command line tool for generating a REST API from a Swagger spec based off Stencil templates.
  • swift-compiler-crashes - A collection of test cases crashing the compiler.
  • SwiftGen - A suite of tools to auto-generate code for various assets of your project.
  • SwiftPlate - Easily generate cross platform framework projects from the command line.
  • Toybox - Xcode Playground management made easy.
  • XcodeGen - Tool for generating Xcode projects from a YAML file and your project directory.

Libs

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

AI

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

  • BrainCore - The iOS and OS X neural network framework.
  • MLKit - A simple machine learning framework.
  • Swift-AI - The machine learning library.

Algorithm

back to top

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

Analytics

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

  • Umbrella - Analytics abstraction layer.

Animation

Libs to help with animation back to top

  • Advance - A powerful animation framework for iOS.
  • AnimatedCollectionViewLayout :penguin: - A UICollectionViewLayout subclass that adds custom transitions/animations to the UICollectionView without affecting your existing code.
  • Animo - SpriteKit-like animation builders for CALayers.
  • ChainPageCollectionView - Fancy two-level collection view layout and animation.
  • Cheetah - An animation library on iOS.
  • Dance - A radical & elegant animation library built for iOS.
  • DKChainableAnimationKit - Easy to read and write chainable animations.
  • DSGradientProgressView - DSGradientProgressView is a simple and customizable animated progress bar.
  • EasyAnimation - A library to take the power of UIView.animateWithDuration(_:, animations:...) to a whole new level.
  • FlightAnimator - Natural Blocks Based Core Animation Framework.
  • Gemini - Gemini is rich scroll based animation framework.
  • IBAnimatable - Design and prototype UI, interaction, navigation, transition and animation for App Store ready Apps in Interface Builder with IBAnimatable.
  • Interpolate - Interpolation framework for creating interactive gesture-driven animations.
  • JDAnimationKit - Animate easy and with less code.
  • Morgan - An always growing animation set.
  • Pastel - Gradient animation effect like Instagram.
  • Presentation - A library to help you to make tutorials, release notes and animated pages.
  • Pulsator - Pulse animation for iOS.
  • Spring - A library to simplify iOS animations.
  • spruce-ios - Choreograph animations on the screen.
  • Stellar - A Physical animation library.
  • SwiftyAnimate - Composable animations.
  • Walker - An animation engine to make your animations easy and more readable.
  • YapAnimator - Your fast and friendly physics-based animation system.
  • 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.
  • Compass - Compass helps you setup a central navigation system for your application.
  • SwiftRouter - A URL Router for iOS.
  • URLNavigator - Elegant URL Routing.

App Store

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

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 library for pitch detection of musical signals.
  • MusicKit - A framework for composing and transforming music.
  • SwiftySound - Simple library that lets you play sounds with a single line of code.
  • TuningFork - A Simple Tuner for iOS.

Augmented Reality

back to top

  • ARCharts - Lovely Augmented Reality Charts for iOS - Built with ARKit
  • ARKit-CoreLocation - Combines the high accuracy of AR with the scale of GPS data.

Authentication

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

  • Cely - A Plug-n-Play login framework.
  • LoginKit - LoginKit is a quick and easy way to add a Login/Signup UX to your iOS app.
  • Simplicity - A simple way to implement Facebook and Google login in your iOS and OS X apps.
  • Voucher - A simple library to make authenticating tvOS apps easy via their iOS counterparts.

Bots

Libs to build bot back to top

Cache

back to top

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

Chart

back to top

  • Charts - Beautiful charts for iOS/tvOS/OSX (port of MPAndroidChart).
  • PNChart-Swift - A simple and beautiful chart lib with animation.
  • ScrollableGraphView - Adaptive scrollable graph view for iOS to visualise simple discrete datasets.
  • SwiftChart - A simple line and area charting library for iOS. Supports multiple series, partially filled series and touch events.
  • TKRadarChart - A customizable radar chart.

Chat

Libs to get access to build chat app back to top

  • Chatto - A lightweight framework to build chat applications.
  • MessageKit - A community-driven replacement for JSQMessagesViewController.

Colors

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

  • Chameleon - Chameleon is a lightweight, yet powerful, color framework for iOS.
  • Colors - Library for using ANSI codes.
  • CSS3ColorsSwift - A UIColor extension with CSS3 Colors name.
  • DynamicColor - An extension to manipulate colors easily.
  • FlatUIColors - Flat UI color palette.
  • Google Material Color - Google Material Color Palette.
  • 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 (ported from randomColor.js).
  • SwiftGen-Colors - A tool to auto-generate Swift enums for your UIColor constants.
  • SwiftHEXColors - HEX color handling as an extension for UIColor.
  • UIColor-Hex-Swift - Hex to UIColor converter.
  • UIColor-WikiColors - All wikipedia colors implemented as easy to use UIColor extension.

Command Line

Create command line applications. back to top

  • Commander :penguin: - Compose beautiful command line interfaces.
  • CommandLine :penguin: - Library for creating command-line interfaces.
  • Progress.swift :penguin: - Add beautiful progress bars to your command line.
  • SwiftCLI :penguin: - A powerful framework that can be used to develop a CLI.
  • Swiftline - A set of tools to help you create command line applications.
  • SwiftyTextTable :penguin: - A lightweight library to generate text tables.
  • TextTable - Easily print textual tables. Inspired by the Python tabulate library.

Concurrency

Easier ways to work with concurrency. back to top

  • AsyncNinja - A complete set of concurrency and reactive programming primitives.
  • Hydra - Promises & Await - Write better async code.
  • Overdrive - Fast async task based API with focus on type safety, concurrency and multi threading.
  • Queuer :penguin: - A queue manager, built on top of OperationQueue and Dispatch (aka GCD).
  • Safe - Modern Concurrency and Synchronization.
  • Threadly :penguin: - Type-safe thread-local storage.
  • Venice :penguin: - Communicating sequential processes (CSP), Linux ready.

Currency

back to top

  • Money - Currency formatter.

Data Management

back to top

Core Data

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

  • AERecord - Super awesome Core Data wrapper library for iOS.
  • AlecrimCoreData - Simple Core Data wrapper library.
  • Cadmium - Framework that hides the complexity of managed object contexts.
  • CoreStore - simple and elegant way to handle Core Data.
  • CoreValue - Lightweight Framework for using Core Data with Value Types.
  • DataKernel - DataKernel is a minimalistic wrapper around Core Data stack to ease persistence operations. No external dependencies.
  • Graph - An elegant data-driven framework for Core Data.
  • JSQCoreDataKit - A swifter Core Data stack.
  • JustPersist - Easiest and safest way to do persistence on iOS with Core Data support out of the box.
  • QueryKit - An easy way to play with Core Data filtering.
  • Skopelos - A minimalistic, thread safe, non-boilerplate and super easy to use version of Active Record on Core Data.
  • SugarRecord - Helps with Core Data and Realm.
  • SuperRecord - A small set of utilities to make working with Core Data a bit easier.

JSON

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

  • AlamofireJsonToObjects - An Alamofire extension which converts JSON response data into objects using Reflection.
  • AlamofireObjectMapper - An Alamofire extension which converts JSON response data into objects using ObjectMapper.
  • Alembic - Functional JSON parsing, mapping to objects, and serialize to JSON.
  • Alexander - An extremely simple JSON helper.
  • Argo - JSON parsing library.
  • Arrow - Elegant JSON Parsing.
  • Brick - A generic view model for both basic and complex scenarios.
  • Decodable :penguin: - JSON parsing.
  • Elevate - JSON parsing framework that makes parsing simple, reliable and composable.
  • EVReflection - Reflection based JSON encoding and decoding. Including support for NSDictionary, NSCoding, Printable, Hashable and Equatable
  • Freddy - A reusable framework for parsing JSON.
  • Genome - A simple, type safe, failure driven mapping library for serializing JSON to models.
  • Gloss :penguin: - Shiny JSON parsing library.
  • HandyJSON - A handy swift JSON-object serialization/deserialization library.
  • Himotoki - A type-safe JSON decoding library.
  • JASON - JSON parsing with outstanding performances and convenient operators.
  • json-swift - A basic library for working with JSON.
  • JSONCodable - Hassle-free JSON encoding and decoding.
  • JSONFeed - JSONFeed parser with built in reader for jsonfeed.org.
  • JSONHelper - Lightning fast JSON deserialization and value conversion library for iOS & OS X.
  • 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.
  • SwiftyJSON :penguin: - A lib for JSON with error handling.
  • SwiftyJSONAccelerator - OSX app to generate models for JSON.
  • Tailor - A super fast & convenient object mapper tailored for your needs.
  • Unbox - The easy to use JSON decoder.

Key Value Store

back to top

  • Palau - 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 backed by LevelDB.
  • SwiftyUserDefaults - Cleaner, nicer syntax for NSUserDefaults.
  • Zephyr - Effortlessly synchronize NSUserDefaults over iCloud.

MongoDB

back to top

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

ORM

back to top

  • fluent :penguin: - Simple ActiveRecord implementation.

Other Data

Other ways to persist data back to top

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

Realm

back to top

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

SQL drivers

back to top

  • MySQL Swift :penguin: - MySQL client library.
  • Perfect-MySQL :penguin: - A stand-alone wrapper around the MySQL client library, enabling access to MySQL servers.
  • Perfect-PostgreSQL :penguin: - A stand-alone wrapper around the libpq client library, enabling access to PostgreSQL servers.

SQLite

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

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.
  • SwiftyXML - The most swifty way to deal with XML.
  • SWXMLHash - Simple XML parsing.
  • XMLParser - A lightweight XMLParser for assembling and parsing XML values written for iOS 8+.

YAML

back to top

  • YamlSwift - Load YAML and JSON documents.
  • Yams :penguin: - Sweet YAML parser.

ZIP

back to top

  • Zip - Framework for zipping and unzipping files.
  • Zip Foundation - A library to create, read and modify ZIP archive files.

Date

Handle data formatting easily. back to top

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

Dependency Injection

Dependency injection libs back to top

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

Device

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

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

Documentation

Generate documentation for Swift code back to top

  • jazzy - Soulful docs.
  • swiftdoc-parser - SwiftDoc.org header parsing and HTML generating utilities.

Email

back to top

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

Embedded Systems

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

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

Peripherals

Interact with specific external peripherals. back to top

Events

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

  • Aftermath - Stateless message-driven micro-framework.
  • Bond - Binding framework.
  • BrightFutures - Promise and future lib.
  • Caravel - Event bus for UIWebView and JS.
  • EmitterKit - Implementation of event emitters and listeners.
  • Forbind - Functional chaining and Promises.
  • Future - A micro framework providing Future<T, Error>.
  • FutureKit - Future/Promises Library.
  • Katana - Write apps a la React and Redux.
  • NoticeObserveKit - NoticeObserveKit is type-safe NotificationCenter wrapper that associates notice type with info type.
  • Notificationz - Helping you own NSNotificationCenter by providing a simple, customizable adapter.
  • PromiseKit - Async promise programming lib.
  • ReactiveCocoa - ReactiveCocoa (RAC) is a Cocoa framework inspired by Functional Reactive Programming. It provides APIs for composing and transforming streams of values over time.
  • Reactor - Powering your RAC architecture.
  • ReactorKit - A framework for reactive and unidirectional application architecture.
  • ReduxSwift - Predictable state container.
  • ReSwift - Unidirectional Data Flow.
  • RxSwift - Microsoft Reactive Extensions (Rx) for Swift and iOS/OSX platform.
  • SignalKit - Event and binding framework.
  • Signals - Replaces delegates and notifications.
  • Snail - An Observables framework.
  • SwiftEventBus - A publish/subscribe event bus optimized for iOS.
  • When - A lightweight implementation of Promises.

Files

back to top

  • FileBrowser - Powerful file browser for iOS.
  • FileKit - Simple and expressive file management.
  • FileProvider - FileManager replacement for Local, iCloud and Remote (WebDAV/FTP/Dropbox/OneDrive/SMB2) files for iOS/tvOS and macOS.
  • KZFileWatchers - A micro-framework for observing file changes, both local and remote.
  • PathKit :penguin: - Effortless path operations.
  • SKQueue - Monitor changes to files and directories using kernel event notifications (kqueue).

Fonts

A collection of font related snippets. back to top

  • FontAwesome.swift - Use FontAwesome in your projects.
  • FontBlaster - Programmatically load custom fonts into your iOS app.
  • GoogleMaterialDesignIcons - Google Material Design Icons Font for iOS.
  • GoogleMaterialIconFont - Google Material Icon Font.
  • Inkwell - An inkwell to use custom fonts on the fly.
  • IoniconsKit - Use ionicons as UIImage / UIFont in your projects.
  • OcticonsKit - Use Octicons as UIImage / UIFont in your projects.
  • OpenSansSwift - OpenSans.
  • Swicon - Use 1600+ icons from FontAwesome and Google Material Icons (and even your own customized icons) in your project.
  • SwiftFontName - OS font complements library. Localized font supported.
  • SwiftIconFont - Fontawesome, Iconic, Ionicons, Octicon ports.
  • SwiftIcons - Library for Font Icons: dripicons, emoji, font awesome, icofont, ionicons, linear icons, map icons, material icons, open iconic, state, weather.
  • UIFontComplete - Make working with UIFont faster and less error-prone.

Games

back to top

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

Gesture

back to top

  • DBPathRecognizer - db path recognizer for letters.
  • NiceGesture - Using UIGestureRecognizers in a intuitive way.
  • PeekPop - Framework for backwards-compatible Peek and Pop.
  • SBShortcutMenuSimulator - Allow the iPhone Simulator to test 3D Touch.
  • SwiftyGestureRecognition - UIGestureRecognizers in Xcode Playgrounds.
  • SwipyCell - UITableViewCell implementing swiping to trigger actions (known from the Mailbox App).
  • Tactile - Attach function handlers to gesture and control events in a more expressive and safer way.

Hardware

A category dedicated to hardware related libs back to top

3D Touch

Easy handle new 3D Touch / Force Touch feature thanks to these libs. back to top

Bluetooth

Wrappers around CoreBluetooth back to top

  • Bleu - BLE (Bluetooth LE) for U.
  • BlueCap - Wrapper around CoreBluetooth and much more.
  • Bluejay - A simple framework for building reliable Bluetooth LE apps.
  • Bluetonium - 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.
  • NextLevel - Rad Media Capture.
Barcode

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

Haptic Feedback

Libraries that involve the use of Haptic Feedback back to top

  • Haptica - Easy Haptic Feedback Generator.
  • TapticEngine - Generates haptic feedback vibrations on iOS device.

iBeacon

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

Sensors

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

Images

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

  • Agrume - A lemony fresh iOS image viewer.
  • AlamofireImage - AlamofireImage is an image component library for Alamofire.
  • APNGKit - High performance and delightful way to play with APNG format in iOS.
  • CTPanoramaView - A library that displays spherical or cylindrical panoramas with touch or motion based controls.
  • FacebookImagePicker - Facebook album photo picker.
  • Filterpedia - Core image filter.
  • FlexibleImage - A simple way to play with images.
  • gifu - Highly performant animated GIF support for iOS.
  • GPUImage 2 - GPUImage 2 is a BSD-licensed Swift framework for GPU-accelerated video and image processing.
  • HanekeSwift - A lightweight generic cache for iOS with extra love for images.
  • ImageLoader - A lightweight and fast image loader for iOS.
  • ImageScout - Implementation of fastimage - supports PNG, GIF, and JPEG.
  • ImageViewer - An image viewer à la Twitter
  • JLStickerTextView - A UIImageView allow you to add multiple Label (multiple line text support) on it, you can edit, rotate, resize the Label as you want with one finger ,then render the text on Image.
  • KFSwiftImageLoader - An extremely high-performance, lightweight, and energy-efficient async web image loader with memory and disk caching for iOS and Watch.
  • Kingfisher - Image download and caching.
  • Lightbox - A convenient and easy to use image viewer for your iOS app.
  • MapleBacon - Image download and caching library.
  • Misen - A script to support using Xcode Asset Catalog.
  • Moa - An image download extension of the image view for iOS, tvOS and macOS.
  • Nuke - Advanced framework for loading, caching, processing, displaying and preheating images.
  • PASImageView - Async remote download your image and round them, automatically.
  • PassportScanner - Scan the MRZ code of a passport and extract the first name, last name, passport number, nationality, date of birth, expiration date and personal number.
  • Sharaku - Image filtering UI library like Instagram.
  • Snowflake - Work with SVG.
  • SwiftGen-Assets - A tool to auto-generate 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.
  • TinyCrayon - A smart and easy-to-use image masking and cutout SDK for mobile apps.
  • Toucan - Image processing api.
  • UIImageColors - iTunes style color fetcher for UIImage.
  • Vulcan - Multi image downloader with priority.
  • WDImagePicker - Image picker with customizable crop rectangle (getting update).
  • XAnimatedImage - XAnimatedImage is a performant animated GIF engine for iOS based on FLAnimatedImage.
  • YapImageManager - A high-performance image downloader — powered by YapDatabase.

Key Value Coding

Libraries for key-value coding in Swift back to top

Keyboard

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

  • IHKeyboardAvoiding - An elegant solution for keeping any UIView visible when the keyboard is being shown. No UIScrollView required.
  • KeyboardHideManager - Codeless manager to hide keyboard by tapping on views for iOS.
  • Typist - Small, drop-in UIKit keyboard manager for iOS apps-helps manage keyboard's screen presence and behavior without notification center.

Kit

Libraries for coding with a simplified API back to top

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

Layout

Libs to help you with layout. back to top

  • BrickKit - Create complex and responsive layouts in a simple way.
  • JustUiKit - iOS UI Kit With Android-Style. It is designed to make Android developers build iOS UI easily.
  • LayoutKit - LayoutKit is a fast view layout library for iOS, macOS, and tvOS. http://layoutkit.org
  • ManualLayout - Easy to use and flexible AutoLayout alternative for iOS 8+. Supports AsyncDisplayKit.
  • Neon - A powerful programmatic UI layout framework.
  • PinLayout - Manual views layouting without auto layout, no magic, pure code, full control. Concise syntax, readable & chainable.
  • Static - A simple static table views for iOS.
  • Stevia - Elegant view layout for iOS.
  • SwiftBox - Inspired by Flexbox, uses 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.
  • Cartography - Declarative auto layout lib for your project.
  • Cupcake - An easy way to create and layout UI components for iOS.
  • EasyPeasy - Auto Layout made easy.
  • FormationLayout - Auto Layout lib supports group layout and size classes.
  • MisterFusion - DSL for AutoLayout, supports Size Class.
  • Mortar - A concise but flexible DSL for creating Auto Layout constraints and adding subviews.
  • PureLayout - The ultimate API for iOS & OS X Auto Layout.
  • Restraint - Minimal Auto Layout.
  • SnapKit - Autolayout DSL for iOS & OS X.
  • SwiftAutoLayout - Small DSL for autolayout.
  • Swiftstraints - Powerful auto-layout framework that lets you write constraints in one line of code.
  • TinyConstraints - TinyConstraints is the syntactic sugar that makes Auto Layout sweeter for human use.

Localization

Frameworks that helps with localizing your app back to top

  • BartyCrouch - Incrementally update/translate your Strings files from Code and Storyboards/XIBs.
  • IBLocalizable - Localize your views directly in Interface Builder with IBLocalizable.
  • LocalizationKit - Realtime dynamic localization of your app with remote management so you can manage maintain and deploy translations without resubmitting app.
  • Localize-Swift - Localize apps using e.g. regular expressions in Localizable.strings.
  • NoOptionalInterpolation - Get rid of "Optional(...)" and "nil" in string interpolation. Easy pluralization.
  • Swifternalization - Localize apps using e.g. regular expressions in Localizable.strings.
  • SwiftGen-L10n - A tool to auto-generate enums for all your Localizable.strings keys (with appropriate associated values if those strings contains printf-format placeholders like %@).

Location

back to top

Logging

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

  • AEConsole - Customizable Console UI overlay with debug log on top of your iOS App.
  • CleanroomASL - API for reading from & writing to the Apple System Log.
  • CleanroomLogger - Configurable and extensible high-level logging API that is simple, lightweight and performant.
  • Dotzu - Debbuger tool for iOS developer. Display logs, network request, device informations, crash logs while using the app.
  • Duration :penguin: - Lightweight logging library focused on reporting timings for operations.
  • Evergreen - Most natural logging.
  • HeliumLogger :penguin: - IBM's lightweight logging framework.
  • Log - A logging tool with built-in themes, formatters, and a nice API to define your owns.
  • Printer - A fancy logger for your next app.
  • Puree - A log collector for iOS.
  • QorumLogs - Logging Utility for Xcode & Google Docs.
  • Rainbow :penguin: - Delightful console output.
  • SwiftyBeaver :penguin: - Multi-platform logging during development & release.
  • TinyConsole - A tiny log console to display information while using your iOS app.
  • Watchdog - Utility for logging excessive blocking on the main thread.
  • WatchdogInspector - A logging tool to show the current framerate (fps) in the status bar of your iOS app.
  • Willow - Willow is a powerful, yet lightweight logging library.
  • XCGLogger - Full featured & Configurable logging utility with log levels, timestamps, and line numbers.

Maps

back to top

  • ArcKit - A location and activity recording framework for iOS.
  • Cluster - Easy Map Annotation Clustering.
  • GEOSwift - 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.

Natural Language Processing

back to top

Network

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

  • agent - HTTP request agent.
  • Alamofire :penguin: - Elegant networking.
  • APIKit - Library for building type-safe web API client.
  • BigBrother - Automatically sets the network activity indicator for any performed request.
  • Dratini - A neat network layer.
  • Heimdallr.swift - Easy to use OAuth 2 library for iOS.
  • Just :penguin: - HTTP for Humans (a python-requests style HTTP library).
  • Malibu - A networking library built on promises.
  • Moya - Network abstraction layer.
  • NEKit - A toolkit for Network Extension Framework.
  • Netfox - A lightweight, one line setup, network debugging library.
  • OAuth2 - oauth2 auth lib.
  • OAuthSwift - OAuth library for iOS.
  • PeerKit - Framework for building event-driven, zero-config Multipeer Connectivity apps.
  • Pitaya :penguin: - HTTP / HTTPS networking library just incidentally execute on machines.
  • Postal - Framework providing simple access to common email providers.
  • Reach - A simple class to check for internet connection availability.
  • Reachability.swift - A replacement for Apple's Reachability with closures.
  • ResponseDetective - A non-intrusive framework for intercepting any outgoing requests and incoming responses between your app and server for debugging purposes.
  • ShadowsocksX-NG - A fast tunnel proxy that helps you bypass firewalls.
  • Siesta - Elegant abstraction for REST APIs that untangles stateful messes. An alternative to callback- and delegate-based networking.
  • SwiftHTTP - NSURLSession wrapper.
  • SwiftyOAuth - A small OAuth library with a built-in set of providers.
  • Transporter - A tiny library makes uploading and downloading easier.
  • TRON - Lightweight network abstraction layer, written on top of Alamofire.

HTML

Need to manipulate contents from html easily? back to top

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

Messaging Protocol

back to top

Socket

back to top

Webserver

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

  • Ambassador - Super lightweight web framework based on SWSGI.
  • Blackfire :penguin: - A minimal, fast and unopinionated web framework.
  • Curassow :penguin: - HTTP server using the pre-fork worker model.
  • Dynamo :penguin: - High performance web server supporting dynamic content.
  • Edge :penguin: - Multiplatform Web and Networking Framework.
  • Embassy :penguin: - Super lightweight async HTTP server library.
  • Express :penguin: - 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.
  • http4swift :penguin: - A simple HTTP server.
  • Kitura :penguin: - IBM's web framework and server for web services.
  • Kunugi :penguin: - Minimal web framework and middleware.
  • Noze.io :penguin: - Evented I/O streams like Node.js.
  • Perfect :penguin: - Server-side Swift. The Perfect library, application server, connectors and example apps.
  • swifter :penguin: - Http server with routing handler.
  • Swifton :penguin: - A Ruby on Rails inspired Web Framework that runs on Linux and OS X.
  • SwiftyHTTP - A simple GCD based HTTP client and server.
  • Tailor - A framework for building web apps.
  • Taylor - A lightweight library for writing HTTP web servers.
  • Trevi - A powerful Web Application Server Framework Project.
  • Vapor :penguin: - Elegant web framework that works on iOS, OS X, and Ubuntu.
  • XcodeServerSDK - Access Xcode Server API.
  • Zewo :penguin: - Server-Side Swift.

OCR

back to top

  • SwiftOCR - Neural Network based OCR lib.

Optimization

back to top

  • Unreachable :penguin: - Unreachable code path optimization hint.

PDF

back to top

  • PDFGenerator - A simple Generator of PDF. Generate PDF from view(s) or image(s).
  • SimplePDF - Create a simple PDF effortlessly.
  • UXMPDFKit - A PDF viewer and annotator that can be embedded in iOS applications.

Quality

back to top

  • SwiftLint - A tool to enforce coding conventions.
  • Swimat - Xcode plugin to format code.
  • Tailor :penguin: - Cross-platform static analyzer that helps you to write cleaner code and avoid bugs.

Scripting

back to top

  • Marathon - Easy way to create and manage scri

Related Repositories

awesome-swift-and-tutorial-resources

awesome-swift-and-tutorial-resources

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

awesome-swift-1

awesome-swift-1

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

awesome-swift-1

awesome-swift-1

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


Top Contributors

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