Awesome iOS

A curated list of awesome iOS frameworks, libraries, tutorials, plugins Xcode, components and much more. The list is divided into categories such as Frameworks, Components, Testing and others, open source projects, free and paid services. There is no pre-established order of items in each category, the order is for contribution. If you want to contribute, please read the guide.

Contents

Getting Started

Libraries And Frameworks

Cache

  • SDURLCache - URLCache subclass with on-disk cache support on iPhone/iPad.

Core Data

  • CWCoreData - Additions and utilities to make it concurrency easier with the Core Data framework.
  • Objective-Record - Objective Record is a lightweight ActiveRecord way of managing Core Data objects.
  • Magical Record - Super Awesome Easy Fetching for Core Data.
  • SSDataKit - Eliminate your Core Data boilerplate code
  • ios-queryable - ios-queryable is an implementation of IQueryable/IEnumerable for Core Data
  • ReactiveCoreData - ReactiveCoreData (RCD) is an attempt to bring Core Data into the ReactiveCocoa (RAC) world.
  • Ensembles - A synchronization framework for Core Data.
  • SLRESTfulCoreData - Objc naming conventions, autogenerated accessors at runtime, URL substitutions and intelligent attribute mapping.
  • Mogenerator - Automatic Core Data code generation.

Database

  • Realm - The alternative to CoreData and SQLite: Simple, modern and fast.

HUD

  • MBProgressHUD - Drop-in class for displays a translucent HUD with an indicator and/or labels while work is being done in a background thread.
  • SVProgressHUD - A clean and lightweight progress HUD for your iOS app.
  • ProgressHUD - ProgressHUD is a lightweight and easy-to-use HUD.

Images

  • GPU Image - An open source iOS framework for GPU-based image and video processing.
  • UIImage DSP - IOS UIImage processing functions using the vDSP/Accellerate framework for speed.
  • QR Code Scanner - QR Code implementation
  • AsyncImageView - Simple extension of UIImageView for loading and displaying images asynchronously without lock up the UI.
  • SDWebImage - Asynchronous image downloader with cache support with an UIImageView category

JSON

  • JSONKit - Objective-C JSON
  • TouchJSON - A humane JSON Objective-C un-framework.
  • JSON-Framework - This framework implements a strict JSON parser and generator in Objective-C.
  • Mantle - Model framework for Cocoa and Cocoa Touch.
  • Groot - Convert JSON dictionaries and arrays to and from Core Data managed objects.
  • KZPropertyMapper - Data mapping and validation with minimal amount of code.
  • JSONModel - Magical Data Modelling Framework for JSON. Create rapidly powerful, atomic and smart data model classes.
  • SwiftyJSON - The better way to deal with JSON data in Swift.

Logging

  • CocoaLumberjack - A fast & simple, yet powerful & flexible logging framework for Mac and iOS
  • NSLogger - a high perfomance logging utility which displays traces emitted by client applications running on Mac OS X, iOS and Android.

Maps

  • Route-me - Open source map library for iOS.
  • MapBox - Mapbox iOS SDK, an open source alternative to MapKit.

Networking

  • AFNetworking - A delightful iOS and OS X networking framework.
  • RestKit - RestKit is an Objective-C framework for iOS that aims to make interacting with RESTful web services simple, fast and fun.
  • FSNetworking - Foursquare iOS networking library
  • ASIHTTPRequest - Easy to use CFNetwork wrapper for HTTP requests, Objective-C, Mac OS X and iPhone.
  • Overcoat - Overcoat is a small but powerful library that makes creating REST clients simple and fun.

Push

  • Orbiter - Push Notification Registration for iOS.
  • PEM - Tired of manually creating and maintaining your push certification profiles?

Passbook

  • passbook - Passbook gem let's you create pkpass for passbook iOS 6+.
  • Dubai - Generate and Preview Passbook Passes.

Text

  • Twitter Text Obj - An Objective-C implementation of Twitter's text processing library.
  • Nimbus - Nimbus is a toolkit for experienced iOS software designers.

UI

  • ActionSheetPicker-3.0 - Quickly reproduce the dropdown UIPickerView / ActionSheet functionality on iOS.
  • FlatUIKit - A collection of awesome flat UI components for iOS.
  • JVFloatLabeledTextField - UITextField subclass with floating labels.
  • SSBouncyButton - iOS7-style bouncy button UI component.
  • JSQMessagesViewController - An elegant messages UI library for iOS.
  • TSMessages - Show notification views on top of screen such as success, error, warning or messages for iOS.
  • NZAlertView - Simple and intuitive alert view. Similar to push notification effect.
  • MGSwipeTableCell - UITableViewCell subclass that allows to display swippable buttons with a variety of transitions.
  • ARAutocompleteTextView - subclass of UITextView that automatically displays text suggestions in real-time. Perfect for email Textviews
  • TGCameraViewController - Custom camera with AVFoundation. Beautiful, light and easy to integrate with iOS projects.
  • BWWalkthrough - Class that helps you create Walkthroughs pages
  • [ENSwiftSideMenu] (https://github.com/evnaz/ENSwiftSideMenu) - A simple side menu for iOS 7/8 written in Swift.
  • [MDCSwipeToChoose] (https://github.com/modocache/MDCSwipeToChoose) - Swipe to "like" or "dislike" any view, just like Tinder.app. Build a flashcard app, a photo viewer, and more, in minutes, not hours!
  • [UIColor-Hex-Swift] (https://github.com/yeahdongcn/UIColor-Hex-Swift) - Convenience method for creating autoreleased color using RGBA hex string.

WebSocket

  • Socket Rocket - A conforming Objective-C WebSocket client library.

Code Quality

  • KZBootstrap - Set of scripts and annotations that generate extra compile time errors and warnings on bad code quality.
  • KZAsserts - Set of custom assertions that automatically generate NSError's, allow for both Assertions in Debug and Error handling in Release builds, with beatiful DSL.
  • PSPDFUIKitMainThreadGuard - Simple snippet generating assertions when UIKit is used on background threads.

Analytics

Payments

  • Stripe - Payment integration on your app with PAY. Suitable for people with low knowlege on Backend.
  • Braintree - Free payment processing on your first $50k. Requires Backend.

Project setup

  • crafter - CLI that allows you to configure iOS project's template using custom DSL syntax, simple to use and quite powerful.
  • liftoff - Another CLI for creating iOS projects.
  • KZBootstrap - iOS project bootstrap aimed at high quality coding.
  • amaro - iOS Boilerplate full of delights.

Dependency Manager

  • Cocoa Pods - CocoaPods is the dependency manager for Objective-C projects. It has thousands of libraries and can help you scale your projects elegantly.
  • Xcode Maven - The Xcode Maven Plugin can be used in order to run Xcode builds embedded in a Maven lifecycle.
  • Gradle - The gradle xcode plugin can be used to build iOS or Mac OS X Projects using gradle.
  • Carthage - A simple, decentralized dependency manager for Cocoa.

Testing

TDD / BDD

  • Kiwi - A behavior-driven development library for iOS development.
  • Specta - A light-weight TDD / BDD framework for Objective-C & Cocoa.
  • Quick - A behavior-driven development framework for Swift and Objective-C.

UI Testing

  • CrashMonkey - Monkey Test Tool For iOS.
  • appium - Appium is an open source test automation framework for use with native and hybrid mobile apps.
  • robotframework-appiumlibrary - AppiumLibrary is an appium testing library for RobotFramework.
  • Cucumber - Behavior driver development for iOS.
  • Kif - An iOS Functional Testing Framework.
  • Subliminal - An understated approach to iOS integration testing.
  • UIAutomation - JavaScript library to write test scripts that exercise your app’s user interface elements while the app runs on a connected device.
  • ios-driver - Test any IOS native, hybrid, or mobile web application using Selenium / WebDriver.
  • Zucchini - A visual iOS testing framework that loves your apps.

Beta Distribution

  • Crashlytics - A crash reporting and beta testing service.
  • TestFlight Beta Testing - The beta testing service hosted on iTunes Connect (requires iOS 8 or later).
  • HockeyApp - With HockeyApp, you can distribute beta versions of your app, collect live crash reports, get feedback from users, and analyze test coverage.

Toolchains

  • RubyMotion - RubyMotion is a revolutionary toolchain that lets you quickly develop and test native iOS and OS X applications for iPhone, iPad and Mac, all using the Ruby language.

Rapid Development

  • KZPlayground - Playgrounds for Objective-C for extremely fast prototyping / learning.
  • dyci - Code injection tool

Deployment

  • fastlane fastlane lets you define and run your deployment pipelines for different environments.
  • deliver Deploy screenshots, app metadata and app updates to the App Store using just one command
  • snapshot Automatically create screenshots in all languages on all devices

SDK

Xcode

Plugins

  • SCXcodeMiniMap - SCXcodeMiniMap is a plugin that adds a source editor MiniMap to Xcode.
  • Show in Github - Xcode plugin to open the GitHub page of the commit of the currently selected line in the editor window.
  • BBUFullIssueNavigator - Xcode plugin for showing all issue content in the issue navigator.
  • BBUDebuggerTuckAway - Xcode plugin for auto-hiding the debugger once you start typing in the source code editor.
  • SCXcodeSwitchExpander - SCXcodeSwitchExpander is a small Xcode plugin that expands switch statements by inserting missing cases.
  • VVDocumenter-Xcode - Xcode plug-in which helps you write Javadoc style documents easier.
  • XAlign - An amazing Xcode plugin to align regular code. It can align anything by using custom alignment patterns.
  • Cocoapods Xcode Plugin - Dependency management helper for your CocoaPods, right in Xcode.
  • KSImageNamed-Xcode - Xcode plug-in that provides autocomplete for imageNamed: calls.
  • ColorSense-for-Xcode - Plugin for Xcode to make working with colors more visual.
  • Backlight-for-XCode - Highlights the current editing line in Xcode

Package Manager

  • Alcatraz - The package manager for Xcode.

Themes

Swift

Websites

Videos

UI

  • JLToast - Toast for iOS with very simple interface. Written in Swift.
  • SweetAlert - Live animated Alert View for iOS written in Swift.

Style Guides

Good Websites

News, Blogs and Feeds

UIKit references

Components and Packages

Forums and discuss lists

Tutorials and Keynotes

iOS UI Template

Prototyping

Twitter

Books

Other Awesome Lists

Other amazingly awesome lists can be found in the
* awesome-awesomeness list. * Open Source apps list of open source ios apps * Awesome-swift * @matteocrippa - A collaborative list of awesome swift resources. * @Wolg - A curated list of awesome Swift frameworks, libraries and software.

Contributing

See the guide

Bitdeli Badge