Skip to content

A curated list of awesome iOS ecosystem, including Objective-C and Swift Projects

Notifications You must be signed in to change notification settings

chai01/awesome-ios

ย 
ย 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

Awesome

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.

Projects in Swift language will be marked with ๐Ÿ”ถ and โŒš for Apple Watch projects. Feel free to add your project.

Contents

Getting Started

Libraries And Frameworks

Audio

  • AudioBus - Add Next Generation Live App-to-App Audio Routing
  • AudioKit - A powerful toolkit for synthesizing, processing, and analyzing sounds.
  • EZAudio - An iOS/OSX audio visualization framework built upon Core Audio useful for anyone doing real-time, low-latency audio processing and visualizations.
  • novocaine - Painless high-performance audio on iOS and Mac OS X.
  • QHSpeechSynthesizerQueue - Queue management system for AVSpeechSynthesizer (iOS Text to Speech).
  • StreamingKit - A fast and extensible gapless AudioPlayer/AudioStreamer for OSX and iOS.
  • sound-fader-ios - A sound fader for AVAudioPlayer written in Swift. ๐Ÿ”ถ

Animation

  • Pop - An extensible iOS and OS X animation library, useful for physics-based interactions.
  • AnimationEngine - Easily build advanced custom animations on iOS.
  • Awesome-iOS-Animation - Collection of Animation projects
  • RZTransitions - A library of custom iOS View Controller Animations and Interactions.
  • DCAnimationKit - A collection of animations for iOS. Simple, just add water animations.
  • Spring - A library to simplify iOS animations in Swift.
  • Canvas - Animate in Xcode without code http://canvaspod.io
  • Fluent - Swift animation made easy ๐Ÿ”ถ
  • Cheetah - Easy animation library on iOS with Swift2. ๐Ÿ”ถ
  • RadialLayer - Animation for clickable elements (similar to Youtube Music). ๐Ÿ”ถ

Apple TV

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

Bridging

  • JSPatch - JSPatch bridge Objective-C and Javascript using the Objective-C runtime. You can call any Objective-C class and method in JavaScript by just including a small engine. JSPatch is generally use for hotfix iOS App.

Cache

  • SDURLCache - URLCache subclass with on-disk cache support on iPhone/iPad.
  • Awesome Cache - Delightful on-disk cache ๐Ÿ”ถ
  • mattress - iOS Offline Caching for Web Content ๐Ÿ”ถ
  • Carlos - A simple but flexible cache ๐Ÿ”ถ

Charts

  • ios-charts - A powerful chart / graph framework, the iOS equivalent to MPAndroidChart. ๐Ÿ”ถ
  • JTChartView - JTChartView is the new lightweight and fully customizable solution to draw a chart.
  • PNChart - A simple and beautiful chart lib used in Piner and CoinsMan for iOS
  • BEMSimpleLineGraph - Elegant Line Graphs for iOS (charting library).
  • JBChartView - iOS-based charting library for both line and bar graphs.
  • iOSPlot - Chart library for iOS.
  • XYPieChart - A simple and animated Pie Chart for your iOS app.
  • TEAChart - Simple and intuitive iOS chart library. Contribution graph, clock chart, and bar chart.
  • EChart - iOS/iPhone/iPad Chart, Graph. Event handling and animation supported.
  • FSLineChart - A line chart library for iOS.
  • chartee - a charting library for mobile platforms.
  • ANDLineChartView - ANDLineChartView is easy to use view-based class for displaying animated line chart.
  • TWRCharts - An iOS wrapper for ChartJS. Easily build animated charts by leveraging the power of native Obj-C code.

Core Data

  • CWCoreData - Additions and utilities to make it concurrency easier with the Core Data framework.
  • ObjectiveRecord - ActiveRecord for Objective-C.
  • 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.
  • HardCoreData - CoreData stack and controller that will never block UI thread.
  • encrypted-core-data - Core Data encrypted SQLite store using SQLCipher.
  • MagicalRecord - Super Awesome Easy Fetching for Core Data.
  • QueryKit - A simple type-safe Core Data query language. ๐Ÿ”ถ
  • CoreStore - Powerful Core Data framework for Incremental Migrations, Fetching, Observering, etc. ๐Ÿ”ถ

Database

  • Realm - The alternative to CoreData and SQLite: Simple, modern and fast.
  • YapDatabase - YapDatabase is an extensible database for iOS & Mac.
  • Couchbase Mobile - Couchbase document store for mobile with cloud sync.
  • FMDB - A Cocoa / Objective-C wrapper around SQLite.
  • Akaibu-NSUserDefaults - a Swifty Key-value store for archiving NSObject in only one line of code. Class properties are automatically mapped and archived under the hood.
  • FCModel - An alternative to Core Data for people who like having direct SQL access.
  • Zephyr - Effortlessly sync NSUserDefaults over iCloud ๐Ÿ”ถ
  • Prephirences - Prephirences is a Swift library that provides useful protocols and convenience methods to manage application preferences, configurations and app-state. ๐Ÿ”ถ

Encryption

  • AESCrypt-ObjC - A simple and opinionated AES encrypt / decrypt Objective-C class that just works.

Hardware

Motion
  • MotionKit - Get the data from Accelerometer, Gyroscope and Magnetometer in only Two or a few lines of code. CoreMotion now made insanely simple.
Bluetooth
  • Discovery - A very simple library to discover and retrieve data from nearby devices (even if the peer app works at background).
  • LGBluetooth - Simple, block-based, lightweight library over CoreBluetooth. Will clean up your Core Bluetooth related code.
  • PeerKit An open-source Swift framework for building event-driven, zero-config Multipeer Connectivity apps. ๐Ÿ”ถ
  • simple-share - Easy Proximity-based Bluetooth LE Sharing for iOS.
  • BluetoothKit - Easily communicate between iOS/OSX devices using BLE. ๐Ÿ”ถ
Location
  • IngeoSDK - Always-On Location monitoring framework for iOS.
  • Proxitee - Allows developers to create proximity aware applications utilizing iBeacons & geo fences.
  • LocationManager - Provides a block-based asynchronous API to request the current location, either once or continuously.
  • LocationKit - Advanced location SDK - highly accurate location data with very low battery drain and contextual location information
iBeacon
  • Proxitee - Allows developers to create proximity aware applications utilizing iBeacons & geo fences.
  • OWUProximityManager - A handy iBeacon + CoreBluetooth manager.
  • Vicinity - Vicinity replicates iBeacons (by analyzing RSSI) and supports broadcasting and detecting low-energy bluetooth devices in the background.
  • BeaconEmitter - Turn your Mac as an iBeacon.
  • OWUProximityManager - iBeacons + CoreBluetooth.

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.
  • M13ProgressSuite - A suite containing many tools to display progress information on iOS.
  • JHProgressHUD - An easy and lightweight Swift library to show HUD in IOS applications. ๐Ÿ”ถ
  • PKHUD - A Swift based reimplementation of the Apple HUD (Volume, Ringer, Rotation,โ€ฆ) for iOS 8 and above. ๐Ÿ”ถ
  • CozyLoadingActivity - Lightweight loading activity HUD. ๐Ÿ”ถ

EventBus

  • 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.
  • Bolts - Bolts is a collection of low-level libraries designed to make developing mobile apps easier, including tasks (promises) and app links (deep links).
  • SwiftTask - Promise + progress + pause + cancel + retry for Swift. ๐Ÿ”ถ

Files

  • FileKit - Simple and expressive file management in Swift. ๐Ÿ”ถ

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. ๐Ÿ”ถ
  • FastEasyMapping - Serialize & deserialize JSON fast.
  • OCMapper - Objective-C & Swift library to easily map NSDictionary to model objects. ๐Ÿ”ถ
  • ObjectMapper - A framework written in Swift that makes it easy for you to convert your Model objects (Classes and Structs) to and from JSON. ๐Ÿ”ถ
  • JASON - JSON parsing with outstanding performances and convenient operators. ๐Ÿ”ถ
  • Gloss - A shiny JSON parsing library in Swift. ๐Ÿ”ถ
  • Cereal - Swift object serialization ๐Ÿ”ถ
  • SwiftyJSONAccelerator - Generate Swift model files from JSON using either SwiftyJSON or ObjectMapper. Supports NSCoding and provides method for JSON string representation of the model. ๐Ÿ”ถ

Layout

  • 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 code.
  • Faรงade - Programmatic view layout for the rest of us - an autolayout alternative.
  • PureLayout - The ultimate API for iOS & OS X Auto Layout โ€” impressively simple, immensely powerful. Objective-C and Swift compatible.
  • SnapKit - A Swift Autolayout DSL for iOS & OS X. ๐Ÿ”ถ
  • Cartography - A declarative Auto Layout DSL for Swift ๐Ÿ”ถ
  • AutoLayoutPlus - A bit of steroids for AutoLayout, powered by Swift. ๐Ÿ”ถ

Logging

  • 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 and iOS.
  • 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.
  • BlockTypeDescription - Show type signatures when logging blocks.
  • QorumLogs โ€” Swift Logging Utility for Xcode & Google Docs. ๐Ÿ”ถ

Maps

  • Route-me - Open source map library for iOS.
  • NAMapKit - Allows you to use custom maps in iphone applications and attempts to mimics some of the behaviour of the MapKit framework.
  • Mapbox GL - An OpenGL renderer for Mapbox Vector Tiles with SDK bindings for iOS.
  • CMMapLauncher - iOS library that makes it quick and easy to show directions in various mapping applications.

Media

Image
  • GPU Image - An open source iOS framework for GPU-based image and video processing.
  • UIImage DSP - IOS UIImage processing functions using the vDSP/Accelerate 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.
  • DFImageManager - Modern framework for fetching images from various sources. Zero config yet immense customization and extensibility. Uses NSURLSession.
  • 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.
  • YXTMotionView - A custom image view that implements device motion scrolling.
  • PINRemoteImage - A thread safe, performant, feature rich image fetcher.
  • SABlurImageView - Easily Adding Animated Blur/Unblur Effects To An Image. ๐Ÿ”ถ
  • FastImageCache - iOS library for quickly displaying images while scrolling.
  • BKAsciiImage - A library to render UIImage as ASCII art
  • YLGIFImage - Async GIF image decoder and Image viewer supporting play GIF images. It just use very less memory.
  • AlamofireImage - An image component library for Alamofire. ๐Ÿ”ถ
  • Nuke - Advanced framework for managing images ๐Ÿ”ถ
  • FlagKit - Beautiful flag icons for usage in apps and on the web. ๐Ÿ”ถ
  • YYWebImage - Asynchronous image loading framework (supports WebP, APNG, GIF).
Video
  • VIMVideoPlayer - A simple wrapper around the AVPlayer and AVPlayerLayer classes.
  • MobilePlayer - A powerful and completely customizable media player for iOS.
PDF

Messaging

  • LayerKit - iOS SDK for Layer, the easiest way to add in-app messaging (text, photos, videos, data) to any mobile or web application.
  • Twilio - Power modern communications. Build the next generation of voice and SMS applications.
  • Plivo - SMS API, Voice API, & Global Carrier Provider.
  • XMPPFramework - An XMPP Framework in Objective-C for Mac and iOS.

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 - 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 Reachability class that uses CoreTelephony to report more information about the user's network connection.
  • MBNetworkIndicator - Provides a simple way to coordinate the device's network activity indicator across multiple. requests.
  • 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.
  • NSRails - Map client-side objects/classes to remote rest api objects/orm
  • NKMultipeer - A testable abstraction over multipeer connectivity. ๐Ÿ”ถ
  • CocoaAsyncSocket - Asynchronous socket networking library for Mac and iOS.
  • Siesta - Elegant abstraction for RESTful resources that untangles stateful messes. An alternative to callback- and delegate-based networking. ๐Ÿ”ถ
  • Reachability.swift - Replacement for Apple's Reachability re-written in Swift with closures ๐Ÿ”ถ
  • NetworkEye - a iOS network debug library, It can monitor HTTP requests within the App and displays information related to the request.

Push Notifications

  • Orbiter - Push Notification Registration for iOS.
  • PEM - Automatically generate push notification profiles for your server.
  • Parse Push - Complete free Push Notifications Backend with the possibility of creating segments, scheduling and even A/B Testing.
  • Urban Airship - Paid Push Notifications backend.
  • Growth Push - Paid Push Notifications. It is one of the most popular tool in Japan.
  • APNS-Pusher - The debug application for Apple Push Notification Service (APNS).

Passbook

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

Permissions

  • PermissionScope - Intelligent iOS permissions UI and unified API (Supports Location, Notifications, Camera, Contacts, Calendar, Photos, Microphone, BT, Activity Monitoring, HealthKit and CloudKit). ๐Ÿ”ถ
  • Proposer - Make permission request easier (Supports Camera, Photos, Microphone, Contacts, Location). ๐Ÿ”ถ
  • ICanHas - Simplifies iOS user permission requests (Supports location, push notifications, camera, contacts, calendar, photos). ๐Ÿ”ถ
  • VWWPermissionKit - A visual permission manager for iOS.
  • ISHPermissionKit - A unified way for iOS apps to request user permissions.
  • JLPermissions - An iOS pre-permissions utility that lets developers ask users on their own dialog for calendar, contacts, location, photos, reminders, twitter, push notifications and more, before making the system-based permission request.

Text

  • Twitter Text Obj - 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.
  • DTRichTextEditor - A rich-text editor for iOS.
  • NBEmojiSearchView - A searchable emoji dropdown view that can be integrated with a text control
  • ios-fontawesome - NSString+FontAwesome.
  • Pluralize.swift - Great Swift String Pluralize Extension ๐Ÿ”ถ
  • RichEditorView - RichEditorView is a simple, modular, drop-in UIView subclass for Rich Text Editing. ๐Ÿ”ถ
  • Money - Swift value types for working with money & currency ๐Ÿ”ถ
  • PhoneNumberKit - A Swift framework for parsing, formatting and validating international phone numbers. Inspired by Google's libphonenumber. ๐Ÿ”ถ
  • YYText - Powerful text framework for iOS to display and edit rich text.

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 ReactiveCocoa.
  • RazzleDazzle - A simple keyframe-based animation framework for iOS, written in Swift. Perfect for scrolling app intros. ๐Ÿ”ถ
  • Instructions - Easily add customizable coach marks into you iOS project. ๐Ÿ”ถ
  • SwiftyWalkthrough - The easiest way to create a great walkthrough experience in your apps, powered by Swift. ๐Ÿ”ถ
  • Primer - Easy SDK for creating personalized landing screens, signup, and login flows on a visual editor with built in a/b/n testing and analytics.

URL Scheme

  • WAAppRouting - iOS routing done right. Handles both URL recognition and controller displaying with parsed parameters. All in one line, controller stack preserved automatically!
  • DeepLinkKit - A splendid route-matching, block-based way to handle your deep links.
  • IntentKit - An easier way to handle third-party URL schemes in iOS apps.
  • JLRoutes - URL routing library for iOS with a simple block-based API.

UI

  • Chameleon - A lightweight, yet powerful, flat color framework for iOS (ObjC & Swift). ๐Ÿ”ถ
  • 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 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.
  • 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.
  • Cool-iOS-Camera - A fully customisable and modern camera implementation for iOS made with AVFoundation.
  • 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 customizable tags.
  • 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. ๐Ÿ”ถ
  • GaugeKit - Customizable gauges. Easy reproduce Apple's style gauges. ๐Ÿ”ถ
  • SVWebViewController - A drop-in inline browser for your iOS app.
  • SwiftWebVC - A Swift implementation of SVWebViewController - a drop-in inline browser for your iOS app. ๐Ÿ”ถ
  • MVAutocompletePlaceSearchTextField - A drop-in Autocompletion control for Place Search like Google Places, Uber, etc.
  • MVMaterialView - Subclass of UIControls and UIButton to mimic Ripple effect of Material Design concept.
  • Atlas - A library of native iOS messaging user interface components for Layer.
  • Swift-Prompts - A Swift library to design custom prompts with a great scope of options to choose from. ๐Ÿ”ถ
  • IQDropDownTextField - TextField with DropDown support using UIPickerView
  • PJAlertView - Apple has deprecated beloved alert view but this library will add revamped alert view with far more customization possibility.
  • CZPicker - A picker view shown as a popup for iOS.
  • TisprCardStack - Library that allows to have cards UI. ๐Ÿ”ถ
  • YXTPageView - A PageView, which supporting scrolling to transition between a UIView and a UITableView.
  • DatePickerDialog - A Swift library that displays an UIDatePicker within an UIAlertView ๐Ÿ”ถ
  • gifu - Highly performant animated GIF support for iOS in Swift ๐Ÿ”ถ
  • SAHistoryNavigationViewController - SAHistoryNavigationViewController realizes iOS task manager like UI in UINavigationContoller,3D Touch Compatible. ๐Ÿ”ถ
  • DOFavoriteButton - Cute Animated Button written in Swift. ๐Ÿ”ถ
  • LNRSimpleNotifications - Simple Swift in-app notifications. LNRSimpleNotifications is a simplified Swift port of TSMessages. ๐Ÿ”ถ
  • NgKeyboardTracker - Objective-C library for tracking keyboard in iOS apps.
  • SAInboxViewController - UIViewController subclass inspired by "Inbox by google" animated transitioning. ๐Ÿ”ถ
  • TLYShyNavBar - Unlike all those arrogant UINavigationBar, this one is shy and humble! Easily create auto-scrolling navigation bars!
  • BRYXBanner - A lightweight dropdown notification for iOS 7+, in Swift. ๐Ÿ”ถ
  • NYAlertViewController - Highly configurable iOS Alert Views with custom content views.
  • HDNotificationView - Emulates the native Notification Banner UI for any alert.
  • 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.
  • AnimatedTransitionGallery - Collection of iOS 7 custom animated transitions using UIViewControllerAnimatedTransitioning protocol.
  • iCarousel - A simple, highly customisable, data-driven 3D carousel for iOS and Mac OS.
  • RESideMenu - iOS 7/8 style side menu with parallax effect inspired by Dribbble shots.
  • FontAwesomeKit - Icon font library for iOS. Currently supports Font-Awesome, Foundation icons, Zocial, and ionicons.
  • Cocoa Controls - Open source UI components for iOS and OS X.
  • ActiveLabel.swift - UILabel drop-in replacement supporting Hashtags (#), Mentions (@) and URLs (http://) ๐Ÿ”ถ
  • XLForm - XLForm is the most flexible and powerful iOS library to create dynamic table-view forms. Fully compatible with Swift & Obj-C.
  • RAReorderableLayout - A UICollectionView layout whitch can move item with drag and drop.
  • ESTabBarController - A tab bar controller for iOS that allows highlighting buttons and setting custom actions to them.
  • STPopup - STPopup provides a UINavigationController in popup style, for both iPhone and iPad.
  • HoneycombView - HoneycombView is the iOS UIView for displaying like Honyecomb layout written by swift. ๐Ÿ”ถ
  • tapkulibrary - tap + haiku = tapku, a well crafted open source iOS framework.
  • NVActivityIndicatorView - Collection of nice loading animations. ๐Ÿ”ถ
  • KCJogDial - Controllable UIView like jog dial. ๐Ÿ”ถ
  • PagingMenuController - Paging view controller with customizable menu in Swift. ๐Ÿ”ถ
  • RadialMenu - RadialMenu is a custom control for providing a touch context menu (like iMessage recording in iOS 8) built with Swift & POP ๐Ÿ”ถ
  • VLDContextSheet - Context menu similar to the one in the Pinterest iOS app
  • cariocamenu - The fastest zero-tap iOS menu. ๐Ÿ”ถ
  • DAExpandAnimation - A custom modal transition that presents a controller with an expanding effect while sliding out the presenter remnants. ๐Ÿ”ถ
  • ScrollPager - A scroll pager similar to the one in Flipboard ๐Ÿ”ถ
  • ComponentKit - A React-Inspired View Framework for iOS, by Facebook.
  • Eureka - Elegant iOS form builder in pure Swift. ๐Ÿ”ถ
  • PMTween - An elegant and flexible tweening library for iOS.
  • MZTimerLabel - A handy class for iOS to use UILabel as a countdown timer or stopwatch just like in Apple Clock App.
  • WobbleView - WobbleView is an implementation of a recently popular wobble effect for any view in your app. It can be used to easily add dynamics to user interactions and transitions. ๐Ÿ”ถ
  • CBZSplashView - Twitter style Splash Screen View. Grows to reveal the Initial view behind.
  • RKNotificationHub - Make any UIView a full fledged notification center.
  • EatFit - Eat fit is a component for attractive data representation inspired by Google Fit
  • RRNCollapsableSectionTableView -Collapsable table view sections with custom section header views. ๐Ÿ”ถ
  • LiquidFloatingActionButton - Material Design Floating Action Button in liquid state
  • LiquidLoader - Spinner loader components with liquid animation ๐Ÿ”ถ
  • PickerView - A customizable alternative to UIPickerView in Swift. ๐Ÿ”ถ
  • InteractivePlayerView - Custom iOS music player view ๐Ÿ”ถ
  • phone-number-picker - A simple and easy to use view controller enabling you to enter a phone number with a country code similar to WhatsApp written in Swift ๐Ÿ”ถ
  • DLWBouncyView - BouncyView is an implementation of a recently popular bouncy effect for any view.
  • MMPopupView - Pop-up based view(e.g. alert sheet), can easily customize.
  • EXTView - Extended UIView for Interface Builder by using IB_DESIGNABLE and IBInspectable.
  • JTMaterialSwitch - A customizable switch UI with ripple effect and bounce animations, inspired from Google's Material Design.
  • PickerView - A customizable alternative to UIPickerView written in Swift.
  • KCSelectionDialog - Simple selection dialog. ๐Ÿ”ถ
  • SFFocusViewLayout - UICollectionViewLayout with focused content.
  • UITextField-Shake - UITextField category that adds shake animation. Also with Swift version ๐Ÿ”ถ
  • JTFadingInfoView - An UIButton-based view with fade in/out animation features.
  • KCFloatingActionButton - Simple Floating Action Button for iOS ๐Ÿ”ถ
  • TTGSnackbar - Show simple message and action button on the bottom of the screen with multi kinds of animation. ๐Ÿ”ถ
  • TTGEmojiRate - An emoji-liked rating view for iOS, implemented in Swift. ๐Ÿ”ถ
  • CardAnimation - Card flipping-style animation ๐Ÿ”ถ
  • BEMCheckBox - Tasteful Checkbox for iOS. (Check box)
  • CVCalendar - A custom visual calendar for iOS 8+ written in Swift (2.0). ๐Ÿ”ถ
  • SCLAlertView-Swift - Beautiful animated Alert View, written in Swift. ๐Ÿ”ถ
  • Atlas-iOS - Atlas is a library of native iOS communications user interface components for Layer.
  • TKRubberIndicator - Rubber Indicator in Swift http://tbxark.github.io ๐Ÿ”ถ
  • HorizontalProgress - Simple horizontal progress bar with animation
  • TKSwitcherCollection - An animate switch collection http://tbxark.github.io ๐Ÿ”ถ
  • JDSwiftAvatarProgress - Easy customizable avatar image asynchronously with progress bar animated ๐Ÿ”ถ
  • iOS-CircleProgressView - This control will allow a user to use code instantiated or interface builder to create and render a circle progress view. ๐Ÿ”ถ
  • Hamburger-Menu-Button - A hamburger menu button with full customization. ๐Ÿ”ถ
  • DGElasticPullToRefresh - Elastic pull to refresh for iOS developed in Swift ๐Ÿ”ถ
  • HTYTextField - A UITextField with bouncy placeholder. ๐Ÿ”ถ
  • JDStatusBarNotification - Easy, customizable notifications displayed on top of the statusbar.
  • GuillotineMenu - Guillotine (Drop down) transitioning animation menu ๐Ÿ”ถ
  • MediumMenu - A menu based on Medium iOS app. ๐Ÿ”ถ
  • YALField - Custom Field component with validation for creating easier form-like UI from interface builder.
  • StarryStars - iOS GUI library for displaying and editing ratings
  • JRSplitVC - UISplitViewController with adaptative layouts
  • SevenSwitch - iOS7 style drop in replacement for UISwitch. ๐Ÿ”ถ
  • RadialLayer - Animation for clickable elements ๐Ÿ”ถ
  • MPParallaxView - Apple TV Parallax effect in Swift. ๐Ÿ”ถ
  • RPLoadingAnimation - Loading animations by using Swift CALayer ๐Ÿ”ถ
  • EZSwipeController - ๐Ÿ‘† UIPageViewController like Snapchat/Tinder/iOS Main Pages ๐Ÿ”ถ
  • Splitflap - A simple split-flap display for your Swift applications ๐Ÿ”ถ
  • UIScrollView-InfiniteScroll - UIScrollView infinite scroll category ๐Ÿ”ถ
  • PullToBounce - Animated "Pull To Refresh" Library for UIScrollView. ๐Ÿ”ถ
  • TVButton - Recreating the cool parallax icons from Apple TV as iOS UIButtons (in Swift). ๐Ÿ”ถ
  • SlackTextViewController - A drop-in UIViewController subclass with a growing text input view and other useful messaging features.

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 beautiful DSL.
  • PSPDFUIKitMainThreadGuard - Simple snippet generating assertions when UIKit is used on background threads.
  • 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 trying.
  • DWURecyclingAlert - Optimizing UITableViewCell For Fast Scrolling.
  • DCIntrospect - Small library of visual debugging tools for iOS.
  • Watchdog - Class for logging excessive blocking on the main thread ๐Ÿ”ถ
  • Tailor - Cross-platform static analyzer for Swift that helps you to write cleaner code and avoid bugs.

Analytics

  • Flurry Analytics - Free app Analytics API.
  • Parse Analytics - Measure App Usage, track bugs and much more.
  • Mixpanel - Advanced analytics platform.
  • Localytics - Brings app marketing and analytics together.
  • Answers by Fabric - Answers gives you real-time insight into peopleโ€™s experience in your app.
  • Liquid Analytics - Identify behaviours through Analytics and react with real-time Personalization.
  • 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.

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.
  • Venmo Make and accept payments in your iOS app via Venmo.
  • Moltin - Add eCommerce to your app with a simple SDK, so you can create a store and sell physical products, no backend required.

Products

  • Import.io - Instantly Turn Web Pages into Data.
  • Tapglue - Build social products and a activity feed with a few lines of code.

Utility

  • 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 extensions.
  • ReflectableEnum - Reflection for enumerations in Objective-C.
  • VWWPermissionKit - A visual permission manager for iOS.
  • ClusterPrePermissions - Reusable pre-permissions utility that lets developers ask users for access in their own dialog, before making the system-based request.
  • DateTools - Dates and times made easy in Objective-C
  • EKAlgorithms - Some well known CS algorithms & data structures in Objective-C.
  • Tactile - A safer and more idiomatic way to respond to gestures and control events. ๐Ÿ”ถ
  • Colours - A beautiful set of predefined colors and a set of color methods to make your iOS/OSX development life easier.
  • ObjectiveSugar - ObjectiveC additions for humans. Ruby style.
  • GroundControl - Remote configuration for iOS.
  • OpinionatedC - Because Objective-C should have inherited more from Smalltalk.
  • GCDKit - Grand Central Dispatch simplified with Swift. ๐Ÿ”ถ
  • SwiftRandom - Generator for random data. ๐Ÿ”ถ
  • RandomKit - Random data generation in Swift. ๐Ÿ”ถ
  • Async - Syntactic sugar in Swift for asynchronous dispatches in Grand Central Dispatch ๐Ÿ”ถ
  • YOLOKit - Getting square objects down round holes.

Security

  • 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.
  • libextobjc - A Cocoa library to extend the Objective-C programming language.
  • Locksmith - A powerful, protocol-oriented library for working with the keychain in Swift. ๐Ÿ”ถ
  • simple-touch - Very simple swift wrapper for Biometric Authentication Services (Touch ID) on iOS.

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.
  • 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 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. ๐Ÿ”ถ
  • SWM (Swift Modules) - 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. ๐Ÿ”ถ
  • Alcatraz - The package manager for Xcode.
  • CocoaSeeds - Git Submodule Alternative 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.
  • XcodeCoverage - Code coverage for Xcode projects.
  • OHHTTPStubs - Stub your network requests easily! Test your apps with fake network data and custom response time, response code and headers!
  • Dixie - Dixie is an open source Objective-C testing framework for altering object behaviours.
  • gh-unit - Test Framework for 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.
  • Remote - Control your iPhone from inside Xcode for end-to-end testing.

Other Testing

  • NaughtyKeyboard - The Big List of Naughty Strings is a list of strings which have a high probability of causing issues when used as user-input data. This is a keyboard to help you test your app from your iOS device.
  • PonyDebugger - Remote network and data debugging for your native iOS app using Chrome Developer Tools
  • ios-snapshot-test-case - Snapshot view unit tests for iOS.

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.
  • boarding - Instantly create a simple signup page for TestFlight beta testers.
  • HockeyKit - A software update kit.

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.

Tools

  • Shark - Swift Script that transforms the .xcassets folder into a type safe enum. ๐Ÿ”ถ
  • R.swift - Tool to get strong typed, autocompleted resources like images, cells and segues in your Swift project. ๐Ÿ”ถ
  • SwiftGen - A collection of Swift tools to generate Swift code (enums for your assets, storyboards, Localizable.strings and UIColors). ๐Ÿ”ถ
  • Localize-Swift - Swift 2.0 friendly localization and i18n with in-app language switching ๐Ÿ”ถ
  • Blade - Generate Xcode image catalogs for iOS / OSX app icons, universal images, and more.
  • Retini - A super simple retina (2x, 3x) image converter.
  • Provisioning - A Quick Look plug-in to preview .mobileprovision files.
  • [Strsync] (https://github.com/metasmile/strsync) - Automatically translate and synchronize .strings files from base language.

Rapid Development

Deployment

  • fastlane Connect all iOS deployment tools into one streamlined workflow.
  • 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.

App Store

SDK

Official

  • Spotify Spotify iOS SDK.
  • Facebook Facebook iOS SDK.
  • Google Analytics Google Analytics SDK for iOS
  • Paypal iOS SDK The PayPal Mobile SDKs enable native apps to easily accept PayPal and credit card payments.
  • Pocket SDK for saving stuff to Pocket.
  • Tumblr Library for easily integrating Tumblr data into your iOS or OS X application.
  • Evernote Evernote SDK for iOS.
  • Box iOS + OS X SDK for the Box API.
  • OneDrive Live SDK for iOS.
  • Stripe Stripe bindings for iOS and OS X.
  • Venmo Make and accept payments in your iOS app via Venmo.
  • AWS Amazon Web Services Mobile SDK for iOS.
  • Zendesk Zendesk Mobile SDK for iOS.
  • Adobe Creative SDK Adobe creative tools and Creative Cloud SDK.
  • Dropbox SDKs for Drop-ins and Dropbox Core API.
  • Fabric by Twitter Fabric Twitter Kit for iOS.
  • Liquid Analytics Identify behaviours through Analytics and react with real-time Personalization.
  • ResearchKit ResearchKit is an open source software framework that makes it easy to create apps for medical research or for other research projects.
  • PacketZoom PacketZoom SDK for iOS.

Unofficial

  • STTwitter A stable, mature and comprehensive Objective-C library for Twitter REST API 1.1
  • FHSTwitterEngine Twitter API for Cocoa developers.
  • Giphy Giphy API client for iOS in Objective-C.
  • UberKit - A simple, easy-to-use Objective-C wrapper for the Uber API.
  • InstagramKit - Instagram iOS SDK.
  • DribbbleSDK - Dribbble iOS SDK.
  • objectiveflickr - ObjectiveFlickr, a Flickr API framework for Objective-C.

Xcode

Plugins

  • FuzzyAutocompletePlugin - A Xcode 5+ plugin that adds more flexible autocompletion rather than just prefix-matching.
  • 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
  • UIColor-Hex-Swift - Convenience method for creating autoreleased color using RGBA hex string. ๐Ÿ”ถ
  • 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 automatic.
  • RealmPlugin- 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.
  • CopyIssue - Makes Copy Xcode Issue Description Easy.
  • RTImageAssets - A Xcode plugin to automatically generate all the App icons needed.
  • BBUncrustifyPlugin-Xcode - Xcode plugin to format source code using ClangFormat or Uncrustify.
  • Aviator - Xcode plugin that brings โ‡งโŒ˜T (source/test toggle) from AppCode over to Xcode.
  • JumpMarks - Navigate your code files with numbered bookmarks.
  • XCSnippetr - An Xcode Plugin to upload code snippets directly into Slack and Gist.
  • Peckham - Add #import-s from anywhere in the code.
  • MLAutoReplace - Xcode plugin, Re-Intent, make you write code more quickly.
  • Chameleon - Flat Color Framework for iOS (Obj-C & Swift) ๐Ÿ”ถ
  • AutoHighlightSymbol - A Xcode plugin to add highlight to the instances of selected symbol.
  • Reveal-In-GitHub - Xcode plugin to let you jump to GitHub History, Blame, PRs, Issues, Notifications of any GitHub repo with one shortcut.
  • CleanHeaders-Xcode - A simple iSort like header sorting and duplicate removal plugin for Xcode, makes your headers look more organized.
  • Luft - The Xcode Plugin that helps you write lighter view controllers https://github.com/k0nserv/luft

Themes

Other Xcode

  • Synx - A command-line tool that reorganizes your Xcode project folder to match your Xcode groups.
  • dsnip - Tool to generate (native) Xcode code snippets from all protocols/delegate methods of UIKit (UITableView, ...)

Style Guides

Good Websites

News, Blogs and more

UIKit references

Forums and discuss lists

Tutorials and Keynotes

iOS UI Template

Prototyping

Twitter

Facebook Groups

Podcasts

Books

Other Awesome Lists

Other amazingly awesome lists can be found in the

Contributing

See the guide

License

Public Domain Mark

To the extent possible under law, Vinicius Souza has waived all copyright and related or neighboring rights to this work.

About

A curated list of awesome iOS ecosystem, including Objective-C and Swift Projects

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published