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
Projects in Swift language will be marked with :🔶: feel free to add your
- Road Map
Start Developing iOS Apps Today, Apple Guide.
- Lifehacker –
I Want to Write iOS Apps. Where Do I Start?
- Codeproject –
Getting Started with iPhone and iOS Development.
Learn to code iOS Apps.
- Stanford – Developing Apps to
Stanford’s iTunes U App Development Course (Audio and Video).
- Stanford – Developing iOS 8 Apps with
Stanford’s 2015 iTunes U App Development Course.🔶
Libraries And Frameworks
- AudioBus –
Add Next Generation Live App-to-App Audio Routing
- AudioKit –
A powerful toolkit for synthesizing, processing, and analyzing
- SDURLCache –
URLCache subclass with on-disk cache support on iPhone/iPad.
- ios-charts –
A powerful chart / graph framework, the iOS equivalent to
- CWCoreData –
Additions and utilities to make it concurrency easier with the Core
- Objective-Record –
Objective Record is a lightweight ActiveRecord way of managing Core
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
- 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.
- HardCoreData –
CoreData stack and controller that will never block UI thread.
- Realm –
The alternative to CoreData and SQLite: Simple, modern and fast.
- YapDatabase –
YapDatabase is an extensible database for iOS & Mac.
- AESCrypt-ObjC –
A simple and opinionated AES encrypt / decrypt Objective-C class
that just works.
- 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.
- M13ProgressSuite –
A suite containing many tools to display progress information on
- JHProgressHUD –
An easy and lightweight Swift library to show HUD in IOS
An open source iOS framework for GPU-based image and video
IOS UIImage processing functions using the vDSP/Accelerate framework
- QR Code
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
- DFImageManager –
Modern framework for fetching images from various sources. Zero
config yet immense customization and extensibility. Uses
- MapleBacon –
An image download and caching library for iOS written in Swift. 🔶
- NYTPhotoViewer –
Slideshow and image viewer.
- IDMPhotoBrowser –
Photo Browser / Viewer.
- JTSImageViewController –
Interactive iOS image viewer.
- Concorde –
Download and decode progressive JPEGs.
- SCRecorder –
Camera engine with Vine-like tap to record, animatable filters, slow
motion, segments editing.
- HanekeSwift –
A lightweight generic cache for iOS written in Swift with extra love
for images. 🔶
- TOCropViewController –
A view controller that allows users to crop UIImage objects.
- Caravel –
A Swift event bus for UIWebView and JS 🔶
- SwiftEventBus –
A publish/subscribe event bus optimized for iOS8. 🔶
- PromiseKit –
Promises for iOS and OS X.
- JSONKit –
- TouchJSON –
A humane JSON Objective-C un-framework.
- JSON-Framework –
This framework implements a strict JSON parser and generator in
- Mantle –
Model framework for Cocoa and Cocoa Touch.
- Groot –
Convert JSON dictionaries and arrays to and from Core Data managed
- 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. 🔶
- FastEasyMapping –
Serialize & deserialize JSON fast.
- OCMapper –
Objective-C & Swift library to easily map NSDictionary to model
- ObjectMapper –
A framework written in Swift that makes it easy for you to convert
your Model objects (Classes and Structs) to and from JSON. 🔶
- ios-flexboxkit –
A simple UIKit extension to wrap Flexbox layouts.
- Masonry –
Harness the power of AutoLayout NSLayoutConstraints with a
simplified, chainable and expressive syntax.
- FLKAutoLayout –
UIView category which makes it easy to create layout constraints in
- Façade –
Programmatic view layout for the rest of us – an autolayout
- CleanroomLogger –
A configurable and extensible Swift-based logging API that is
simple, lightweight and performant. 🔶
- CocoaLumberjack –
A fast & simple, yet powerful & flexible logging framework for Mac
- NSLogger –
a high perfomance logging utility which displays traces emitted by
client applications running on Mac OS X, iOS and Android.
- Aardvark –
A performant logging framework that makes it dead simple to create
actionable bug reports on iOS.
- Route-me –
Open source map library for iOS.
- Mapbox –
Mapbox iOS SDK, an open source alternative to MapKit.
- NAMapKit –
Allows you to use custom maps in iphone applications and attempts to
mimics some of the behaviour of the MapKit framework.
An OpenGL renderer for Mapbox Vector Tiles with SDK bindings for
- IngeoSDK –
Always-On Location monitoring framework for iOS.
- 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.
- ROADFramework –
Attributed-oriented approach for interacting with web services. The
framework has built-in json and xml serialization for requests and
responses and can be easily extensible.
- MBNetworkMonitor –
A modern replacement for Apple’s
Reachabilityclass that uses
CoreTelephony to report more information about the user’s network
- MBNetworkIndicator –
Provides a simple way to coordinate the device’s network activity
indicator across multiple.
- Alamofire –
Alamofire is an HTTP networking library written in Swift, from the
creator of AFNetworking. 🔶
- Transporter –
A tiny library makes uploading and downloading easier. 🔶
- CDZPinger –
Easy-to-use ICMP Ping.
- Orbiter –
Push Notification Registration for iOS.
- PEM –
Automatically generate push notification profiles for your server.
Complete free Push Notifications Backend with the possibility of
creating segments, scheduling and even A/B Testing.
Paid Push Notifications backend.
- Growth Push –
Paid Push Notifications. It is one of the most popular tool in
- passbook –
Passbook gem let’s you create pkpass for passbook iOS 6+.
- Dubai –
Generate and Preview Passbook Passes.
- Passkit – Design,
Create and validate Passbook Passes.
- Twitter Text
An Objective-C implementation of Twitter’s text processing library.
- Nimbus – Nimbus
is a toolkit for experienced iOS software designers.
- NSStringEmojize –
A category on NSString to convert Emoji Cheat Sheet codes to their
equivalent Unicode characters.
- MMMarkdown –
An Objective-C static library for converting Markdown to HTML.
- DTCoreText –
Methods to allow using HTML code with CoreText.
Walkthrough / Intro / Tutorial
- Onboard –
Easily create a beautiful and engaging onboarding experience with
only a few lines of code.
- EAIntroView –
Highly customizable drop-in solution for introduction views.
- MYBlurIntroductionView –
A super-charged version of MYIntroductionView for building custom
app introductions and tutorials.
- BWWalkthrough –
A class to build custom walkthroughs for your iOS App.
- GHWalkThrough –
A UICollectionView backed drop-in component for introduction views.
- ICETutorial –
A nice tutorial like the one introduced in the Path 3.X App.
- JazzHands –
Jazz Hands is a simple keyframe-based animation framework for UIKit.
Animations can be controlled via gestures, scroll views, KVO, or
- Chameleon –
A lightweight, yet powerful, flat color framework for iOS.
- 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.
- BetweenKit –
A robust drag-and-drop framework for iOS.
- JSQMessagesViewController –
An elegant messages UI library for iOS.
- AMSmoothAlert –
A cool AlertView.
- 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
- 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.
- ENSwiftSideMenu –
A simple side menu for iOS 7/8 written in Swift. 🔶
- 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!
- ParallaxTableViewHeader –
Parallax scrolling effect on UITableView header view when a
tableView is scrolled.
- JLToast –
Toast for iOS with very simple interface. 🔶
- SweetAlert –
Live animated Alert View for iOS written in Swift. 🔶
- Form –
JSON driven form
- BLKFlexibleHeightBar –
Create condensing header bars like those seen in the Facebook,
Square Cash, and Safari iOS apps.
- NMPopUpView –
Simple iOS class for showing nice popup windows. Swift and
Objective-C versions available. 🔶
- SDevIconFonts –
Fontawesome, Iconic, Ionicons, Octicon porting for swift. 🔶
- SDevBootstrapButton –
Twitter Bootstrap buttons for Swift 🔶
- SDevCircleButton –
Circle Button for Swift 🔶
- SDevFlatColors –
Flat Colors on Swift 🔶
- ColorArt –
extract dominant colors from image like iTunes 11.
- IQKeyboardManager –
Codeless drop-in universal library allows to prevent issues of
keyboard sliding up and cover UITextField/UITextView.
- WCFastCell –
Fast cells for Tables/Collections scrolling (without animations).
- Motif –
A lightweight and customizable JSON stylesheet framework for iOS.
- VBFPopFlatButton –
Flat button with 9 different states animated using Facebook POP.
- HTPressableButton –
Flat design pressable button.
- AnimationEngine –
Easily build advanced custom animations on iOS.
- Cool-iOS-Camera –
A fully customisable and modern camera implementation for iOS made
- AsyncDisplayKit –
AsyncDisplayKit is an iOS framework that keeps even the most complex
user interfaces smooth and responsive.
- AMTagListView –
UIScrollView subclass that allows to add a list of highly
- MotionBlur –
MotionBlur allows you to add motion blur effect to iOS animations.
- PBJVision –
iOS camera engine, features touch-to-record video, slow motion
video, and photo capture.
- DynamicColor –
Yet another extension to manipulate colors easily in Swift 🔶
A conforming Objective-C WebSocket client library.
- 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
- Flex –
An in-app debugging and exploration tool for iOS.
- chisel –
Collection of LLDB commands to assist debugging iOS apps.
- OCLint – Static
code analysis tool for improving quality and reducing defects.
- ocstyle –
Objective-C style checker.
- SwiftLint –
An experimental tool to enforce Swift style and conventions. 🔶
- spacecommander –
Commit fully-formatted Objective-C code as a team without even
Analytics – Free
app Analytics API.
Measure App Usage, track bugs and much more.
- Mixpanel –
Advanced analytics platform.
- Localytics –
Brings app marketing and analytics together.
- Answers by
Answers gives you real-time insight into people’s experience in your
Identify behaviours through Analytics and react with real-time
- GTrack –
Lightweight Objective-C wrapper around the Google Analytics for iOS
SDK with some extra goodies.
- ARAnalytics –
Analytics abstraction library offering a sane API for tracking
events and user data.
- Segment –
The hassle-free way to integrate analytics into any iOS application.
- 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.
Make and accept payments in your iOS app via Venmo.
- Import.io –
Instantly Turn Web Pages into Data.
- Underscore.m –
A DSL for Data Manipulation.
- SBConstants –
Generate a constants file by grabbing identifiers from storyboards
in a project.
- XExtensionItem –
Easier sharing of structured data between iOS applications and share
- ReflectableEnum –
Reflection for enumerations in Objective-C.
- UICKeyChainStore –
UICKeyChainStore is a simple wrapper for Keychain on iOS.
- cocoapods-keys –
A key value store for storing environment and application keys.
- Valet –
Securely store data in the iOS or OS X Keychain without knowing a
thing about how the Keychain works.
- 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.
- chairs –
Swap around your iOS Simulator Documents
Dependency / Package Manager
- Cocoa Pods –
CocoaPods is the dependency manager for Objective-C projects. It has
thousands of libraries and can help you scale your projects
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. 🔶
- SWM (Swift
A package/dependency manager for Swift projects similar to npm
(node.js package manager) or bower (browser package manager from
Twitter). Does not require the use of XCode. 🔶
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.
- XcodeCoverage –
Code coverage for Xcode projects.
- 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 –
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.
- Remote –
Control your iPhone from inside Xcode for end-to-end testing.
- Crashlytics –
A crash reporting and beta testing service.
- TestFlight Beta
The beta testing service hosted on iTunes Connect (requires iOS 8 or
- HockeyApp – With
HockeyApp, you can distribute beta versions of your app, collect
live crash reports, get feedback from users, and analyze test
- 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.
- KZPlayground –
Playgrounds for Objective-C for extremely fast prototyping /
- dyci –
Code injection tool.
- injectionforxcode –
Code injection including Swift.
- https://github.com/mutualmobile/MMBarricade –
Runtime configurable local server for iOS apps.
fastlane lets you define and run your deployment pipelines for
Deploy screenshots, app metadata and app updates to the App Store
using just one command.
Automatically create screenshots in all languages on all devices.
- Average App Store Review
site tracks the average App Store review times for both the iOS and
the Mac App Store using data crowdsourced from iOS and Mac
- Apple’s Common App Rejections
Highlighted some of the most common issues that cause apps to get
- Free App Store Optimization
you track your App Store visibility in terms of keywords and
Spotify iOS SDK.
Facebook iOS SDK.
Google Analytics SDK for iOS
- Paypal iOS
The PayPal Mobile SDKs enable native apps to easily accept PayPal
and credit card payments.
SDK for saving stuff to Pocket.
Library for easily integrating Tumblr data into your iOS or OS X
Evernote SDK for iOS.
iOS + OS X SDK for the Box API.
Live SDK for iOS.
Stripe bindings for iOS and OS X.
Make and accept payments in your iOS app via Venmo.
Amazon Web Services Mobile SDK for iOS.
Zendesk Mobile SDK for iOS.
- Adobe Creative
Adobe creative tools and Creative Cloud SDK.
SDKs for Drop-ins and Dropbox Core API.
Fabric Twitter Kit for iOS (official SDK, there are also a
Giphy API client for iOS in Objective-C.
- UberKit –
A simple, easy-to-use Objective-C wrapper for the Uber API.
Identify behaviours through Analytics and react with real-time
- InstagramKit –
Unofficial Instagram iOS SDK.
- SCXcodeMiniMap –
SCXcodeMiniMap is a plugin that adds a source editor MiniMap to
- Show in
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
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
- UIColor-Hex-Swift –
Convenience method for creating autoreleased color using RGBA hex
- KPRunEverywhereXcodePlugin –
An Xcode plugin to build and run an app across multiple iOS devices
with one click.
- RevealPlugin –
Plugin for Xcode to integrate the Reveal App to your project
Xcode plugin to generate new Realm models.
- AdjustFontSize –
Instant font size adjustment with
- Lin –
Xcode plugin that provides auto-completion for NSLocalizedString.
- Rephrase –
Localise from Xcode.
- XCActionBar –
“Alfred for Xcode” plugin.
- QuickJump –
Quick code navigation for Xcode.
- CATweaker –
Plugin for creating beautiful CAMediaTimingFunction curve.
- XcodeWay –
An Xcode plugin that makes navigating to many places easier
(available via Alcatraz).
- GitDiff –
Highlights deltas against git repo in Xcode.
- MCLog –
Xcode plugin for filtering the console area.
- XToDo –
Dialog with list of all TODO, FIXME, ??? and !!! in the project.
- HTYCopyIssue –
Makes Copy Xcode Issue Description Easy.
- Alcatraz – The
package manager for Xcode.
A dark theme for Xcode.
- Xcode themes
Color themes for Xcode.
- Solarized-Dark-for-Xcode –
Solarized Dark Theme for Xcode 5.
- Synx – A
command-line tool that reorganizes your Xcode project folder to
match your Xcode groups.
- NY Times – Objective C Style
The Objective-C Style Guide used by The New York Times.
- raywenderlich Style
A style guide that outlines the coding conventions for
- Github Objective-C Style
Style guide & coding conventions for Objective-C projects.
- Objective-C Coding Convention and Best
Gist with coding conventions.
- Swift Style Guide by
The official Swift style guide for raywenderlich.com. 🔶
- Spotify Objective-C Coding
Guidelines for iOS development in use at Spotify.
- Dropbox Objective-C Style
- Github – Style guide & coding conventions for Swift
A guide to our Swift style and conventions by @github. 🔶
- Futurice iOS Good
iOS starting guide and good practices suggestions by
News, Blogs and Feeds
- iCode Blog
- Natasha The
- Apple’s Swift
- iOS Programming
- iOS Dev
- iOS Fonts
Components and Packages
- Cocoa Pods
Forums and discuss lists
- iPhone Dev SDK
- “iOS” on
Tutorials and Keynotes
- Code with
- Cocoa with
- Cocoa is my
- Code School – Try
- Brian Advent youtube
Swift tutorials Youtube Channel. 🔶
- RAYWENDERLICH –
Tutorials for developers and gamers
- Ry’s Objective-C
- Big Nerd
- iOS-Blog 🔶
iOS UI Template
- App Icon
- iOS 8 GUI PSD
- iOS UI Design
- iOS Design
- Sketch – Official
- The Rey Wenderlich
- Mobile Couch
- Programming with Objective-C by
- Object-Oriented Programming with Objective-C by
- The Swift Programming Language by
- Using Swift with Cocoa and Objective C by
- iOS Programming: The Big Nerd Ranch Guide by Christian Keur, Aaron
- Programming in Objective-C by Stephen G.
- Your First iOS App by Ash
- The Complete Friday Q & A: Volume
- 3D Graphics with
- Core Data for iOS: Developing Data-Driven Applications for the
iPad, iPhone, and iPod
- Cocoa Design
Other Awesome Lists
Other amazingly awesome lists can be found in the
- Open Source
list of open source ios apps
- @matteocrippa –
A collaborative list of awesome swift resources.
- @Wolg –
A curated list of awesome Swift frameworks, libraries and
- @matteocrippa –
- awesome watchkit
curated list of sample watchkit apps and tutorials.
- iOS Learning
Comprenehensive collection of high quality, frequently updated and
well maintained iOS tutorial sites.
- awesome-ios-animation –
A curated list of awesome iOS animation, including Objective-C and
- awesome-ios-chart –
A curated list of awesome iOS chart libraries, including Objective-C
- awesome-gists –
A list of amazing gists (iOS section).