This is the catalogue of iOS/Objective-C Open Source projects. I created it to have a fast access to any Mac/iOS-related projects I recently Github-starred or explored.
It will grow as fast as it is possible with my ability to add/explore new projects around the net, Github, etc.
You may start watching this repo to receive notifications about new incoming projects. New projects are added via Pull Requests to 'new' branch so all watchers of this repository receive corresponding email notifications.
Feel free to suggest any new projects that are not present in the current list. See Contribution.
Note! This catalogue also includes a number of projects that are not open-source but are still somehow related to iOS/OSX applications development.
Suggestions are welcome! New projects are welcome!
Last update: 2015-11-27
Table of Contents generated with DocToc
- Contents
- Catalogues
- Conventions / Style guides / Best practices
- Developer Tools
- Frameworks
- Extensions for Objective-C and Cocoa frameworks
- Dependency Management
- Auto-updates
- Design Patterns
- Algorithms
- Data structures
- Cross-platform development
- Application Platforms
- Networking
- Database
- Data
- Date tools
- Macros utilities
- Low level
- Debugging
- Build Tools
- Testing
- Deployment
- Beta testing
- Analytics
- Command-line tools
- Device information
- Documentation
- Xcode. Tools and Plugins
- UI
- Social
- Maps
- Graphics
- Audio
- Video
- Games
- Applications
- Code Examples
- Compilers
- Other / Unsorted
A curated list of awesome iOS frameworks, libraries, tutorials, xcode plugins and components.
A collaborative list of awesome swift resources. Feel free to contribute!
A curated list of awesome iOS UI/UX libraries
Collaborative List of Open-Source iOS Apps
A curated list of awesome C frameworks, libraries, resources and other shiny things. Inspired by all the other awesome-... projects out there.
A curated list of awesome C/C++ frameworks, libraries, resources, and shiny things. Inspired by awesome-... stuff. http://fffaraz.github.io/awesome-cpp/
A curated list of awesome lists
Set of repositories for different development tasks.
Jet Propulsion Laboratory – scientific institution making a lot of research and development for NASA. JPL have been developing software for most of unmanned missions in the field of deep space and other planets exploaration. Their portfolio includes such famous missons as Curiosity Mars rover and Voyager probe which left solar system after 25 years of flight and still providing scientific information. High level of automatization and long duration of missions led to superior demands to software quality. As a result of JPL amazing experience a set of code guidelines was developed and published recently.
Coding conventions for Objective-C projects.
The New York Times Mobile Team’s Objective-C Style Guide.
Zen and the Art of the Objective-C Craftsmanship
Taken from Objc.io#22: The Art of Code Review: A Dropbox Story
A quick reference cheat sheet for common, high level topics in Objective-C.
Style guide & coding conventions for Swift projects
The official Swift style guide for raywenderlich.com.
Turn your bright ideas into outstanding iOS/OS X apps with ease and pleasure. Rely on AppCode's intelligent assistance as you code, refactor, debug and test.
a system-wide terminal available on a hot-key
iTerm2 is a terminal emulator for Mac OS X that does amazing things
A free Mercurial and Git client for Windows or Mac
The easiest way to use GitHub on Mac.
Charles is an HTTP proxy / HTTP monitor / Reverse Proxy that enables a developer to view all of the HTTP and SSL / HTTPS traffic between their machine and the Internet. This includes requests, responses and the HTTP headers (which contain the cookies and caching information).
Official home of the DB Browser for SQLite project. Previously known as "SQLite Database Browser" and "Database Browser for SQLite". Website at: http://sqlitebrowser.org
Find errors in your iOS or Mac project
A powerful set of tools that are ideal for measuring, inspecting & testing on-screen graphics and layouts.
Compare UI mockup and developed result so easy as never before!
Fast, lightweight and powerful animation tool
Quick Look plugin for .ipa and .mobileprovision
A delightful networking framework for iOS and OSX
A framework for composing and transforming streams of values
Model framework for Cocoa and Cocoa Touch
A React-Inspired View Framework for iOS
RestKit is a framework for consuming and modeling RESTful web resources on iOS and OS X
GNUstep is a mature Framework, suited both for advanced GUI desktop applications as well as server applications. The framework closely follows Apple's Cocoa (formerly NeXT's OpenStep) APIs but is portable to a variety of platforms and architectures.
Nimbus is a toolkit for experienced iOS software designers. It provides well-documented, modular components that solve a number of common iOS software requirements. This includes: a rich text label with hyperlinks; a web view controller; a simple approach to table models, radio groups, and table actions; standardized interapp communication, and powerful debugging tools, amongst many other features.
The Open Source Game Engine for iOS http://www.sparrow-framework.org/
A Cocoa library to extend the Objective-C programming language.
ObjectiveC additions for humans. Ruby style.
Underscore.m is a small utility library to facilitate working with common data structures in Objective-C. It tries to encourage chaining by eschewing the square bracket]]]]]]. It is inspired by the awesome underscore.js.
Custom attributes for ObjC properties.
The Objective-C block utilities you always wish you had.
Everything that really should be in Foundation, but isn't. Future-proof with ARC
Q Branch’s collection of Cocoa categories and utilities.
Utilities and categories for Objective-C
A Swiss Army Knife for Objective-C developers
The Dependency Manager for Objective C.
A simple, decentralized dependency manager for Cocoa
Components is a concept aimed to solve a problem of dependency management for long-running projects http://lowlevelbits.org/components-management/
Notify users when a new version of your iOS app is available, and prompt them with the App Store link.
Cocoa framework for updating OS X apps
A software update framework for OS X. http://sparkle-project.org/
Design Patterns implemented in Swift
Design pattern samples implemented in Java
A delightful Promises implementation for iOS
An Objective-C Class which implements the Promises/A+ specification.
Objective-C Promises in the CommonJS style
Async library inspired by CommonJS Promises/A spec
Data Binding and MVVM for iOS
Simple, modern, thread-safe key-value observing for iOS and OS X.
A Swift binding framework
Swift µframework for creating state machines
EKAlgorithms contains some well known CS algorithms and other stuff.
A swift based implementation of the Dijkstra algorithm
A simple, fast circular buffer implementation
Tree data structure implementation for iOS without using CFTree. Keywords: iOS, tree, algorithms, data structures, binary, b-trees.
Objective-C for Android. Write your apps entirely in Objective-C. Share the same code on iOS and Android.
Create Native iOS, Android, Mac and Windows apps in C#.
Marmalade Juice is a new and innovative technology which gives developers the ability to recompile their iOS projects natively for Android. And, because there is no need for laborious re-writing, you can focus on making your game the best it can be.
The complete mobile app platform Focus on creating unique & engaging apps on any platform. We take care of everything else your app needs, from the core of your app to analytics and push notifications.
C2Call empowers your apps' communication with its cutting-edge, cross-platform 7-way Group Video Calling, Voice and Instant Messaging featured technology for Mobiles, Tablets and Desktops.
Elegant HTTP Networking in Swift
A small, lightweight, embeddable HTTP server for Mac OS X or iOS applications
Lightweight GCD based HTTP server for OS X & iOS (includes web based uploader & WebDAV server)
Asynchronous socket networking library for Mac and iOS
A conforming Objective-C WebSocket client library.
A fast, synchronous Objective-C wrapper around BSD sockets for iOS and OS X.
An asynchronous, futures-based distributed objects library for Objective-C
AFNetworking Extension for HTTP Request Logging
socket.io v0.7.2+ for iOS devices
ARC and GCD Compatible Reachability Class for iOS and MacOS. Drop in replacement for Apple Reachability
SPDY for iOS and OS X
TCP port scanner, spews SYN packets asynchronously, scanning entire Internet in under 5 minutes.
Realm is a mobile database: a replacement for Core Data & SQLite
Distributed version control + object persistence framework http://coreobject.org
A lightweight Active Record - style of managing CoreData objects.
A Cocoa / Objective-C wrapper around SQLite
An alternative to Core Data for people who like having direct SQL access.
ActiveRecord for iOS without CoreData, only SQLite.
Couchbase Lite is an embedded lightweight, document-oriented (NoSQL), syncable database engine.
Cloudant Sync iOS datastore library.
A simple NoSQL database(key-value pair) in Objective-C. It runs on iOS and OS X.
YapDatabase is a "key/value store and MORE" built atop sqlite for iOS & Mac.
Objective-C interface to Google's LevelDB key/value embedded database
a key-value object store backed by sqlite3 for ios
SQLCipher is an SQLite extension that provides 256 bit AES encryption of database files. http://sqlcipher.net/
A powerful value transformation API extracted from RestKit
A block-based API for NSValueTransformer, with a growing collection of useful examples.
A faster and more flexible binary file format replacement for Property Lists and JSON
AutoCoding is a category on NSObject that provides automatic support for NSCoding and NSCopying to every object.
The easiest way to marshall and unmarshall Dictionary representations such as JSON representation
EasyMapping fork. [From JSON to Core Data Fast and Effectively](http://yalantis.com/blog/2014/03/17/from-json-to-core-data-fast-and-effectively/(
'Parsing Expression Grammar' toolkit for Cocoa/Objective-C
Objective-C Tokenizer and Parser Generator. Supports Grammars.
Dates and times made easy in Objective-C
Objective-C class to calculate Sunrise/Sunset/Twilight times.
A variety of utilities for the C preprocessor.
macros that automate vending an NSString given an enum value (f.x. MyEnumToString(value))
A recursive C preprocessor macro which performs an operation on each element of a list
Hopper is a reverse engineering tool for OS X, that lets you disassemble, decompile and debug your 32/64bits Intel Mac, Windows and iOS executables!
Objective-C Runtime Browser, for Mac OS X and iOS
Linux port of Apple's open-source concurrency library
interprocess code injection for Mac OS X
runtime function overriding for Mac OS X
Painless code injection for OS X
Plausible CrashReporter provides an in-process crash reporting framework for use on both iOS and Mac OS X, and powers most of the crash reporting services available for iOS, including HockeyApp, Flurry, and Crittercism.
Chisel is a collection of LLDB commands to assist debugging iOS apps.
An in-app debugging and exploration tool for iOS
Beagle is an Objective C debugging tool that can sniff out class instances on the heap.
A simple Objective-C singleton to instrument, protect, trace, and suppress selectors at runtime
Dynamic code injection Tool
Trace Objective-C method calls by class or instance)
A modern, flexible logging tool
A fast & simple, yet powerful & flexible logging framework for Mac and iOS
Elegant and extensive logging facility for OS X & iOS (includes database, Telnet and HTTP servers)
Simple but flexible Log4J-like logging system for Objective-C
A powerful and flexible logging utility for Mac/iOS apps
NSLog replacement for coders!
Log common structures without boring conversions. ATLog(@"%@",CGPointMake(1,1)); // No need for NSStringFromCGPoint.
GDCoreDataConcurrencyDebugging helps you find cases where NSManagedObject's are being called on the wrong thread or dispatch queue.
Correct, reproducible, and fast builds for everyone.
BDD for iOS
A light-weight TDD / BDD framework for Objective-C & Cocoa
BDD-style testing using Objective-C
The Swift (and Objective-C) testing framework.
Simple Unit Testing for C http://throwtheswitch.org/
A tiny DSL for TDD/BDD written in C
Automated acceptance tests for native iOS apps.
Keep It Functional - An iOS Functional Testing Framework
Calabash is an automated testing technology for Android and iOS native and hybrid applications.
An understated approach to iOS integration testing.
IOS automation for native, hybrid and mobile web.
Test any IOS native, hybrid, or mobile web application using the Selenium / Webdriver API. IOS automation is as easy as automation for a browser, due to reuse of the well known API. You can reuse the helper classes from your web tests to i.e. create data, and follow the same design patterns you're used to (Page Object etc.).
Appium is an open source test automation framework for use with native and hybrid mobile apps. It drives iOS and Android apps using the WebDriver JSON wire protocol.
Stub your network requests easily! Test your apps with fake network data and custom response time, response code and headers!
Testing HTTP requests has never been easier. Nocilla: Stunning HTTP stubbing for iOS and Mac OS X.
A simple(r) way to stub out HTTP servers in your Objective-C app.
A Cocoa framework for mocking and stubbing URL requests and responses.
VCRURLConnection is an iOS and OSX API to record and replay HTTP interactions, inspired by VCR for ruby
Powerful Objective-C library to replay HTTP responses
Simple project automation for the sophisticated Xcode hacker
Mockito for Objective-C: creation, verification and stubbing of mock objects
RedGreen is an extension library for SenTestKit that makes the test output easier to parse by humans.
Automatically grant access to addressbook/photos in your tests (Simulator only)
Flexible and fast xcodebuild formatter
TUDelorean helps you test your time-dependent Objetive-C code allowing you travel anywhere in time.
A tool that will make a lot of iPhone/iPad developers' life easier. It shares your app over-the-air in a WiFi network. Bonjour is used and no configuration is needed.
Presenting mobile apps is a pain in the ass. So is collaborating remotely with mobile developers. Don't let clunky hardware cameras and unrealistic simulators get in your way. Introducing iOStream. Mobile presentations made easy. Install the SDK and start streaming now.
Complete mobile beta testing solution. One platform to orchestrate your entire mobile testing process.
The web-based solution for managing your testers. For Android & iOS!
Analytics framework for iOS
Simplify your iOS analytics
INDUSTRY-LEADING APP ANALYTICS FOR FREE
iPhone tracking library for Mixpanel Analytics. http://mixpanel.com
The official iOS SDK for the HockeyApp service (Releases are in the master branch, current development in the default develop branch) http://hockeyapp.net/releases
Countly Mobile Analytics - iOS SDK http://count.ly
Log Management and Analytics in Real-time
Intelligent Analytics for your Mac, Windows, Android, iOS, Unity, Action Script apps
...the most powerful, yet lightest weight crash reporting solution.
Bugsnag notifier for iOS and OSX apps, https://bugsnag.com/
The Ultimate iOS Crash Reporter
xctool is a replacement for Apple's xcodebuild that makes it easier to build and test iOS and Mac projects.
world-class command line utilities for iOS development
-
Automate administrative tasks that you would normally have to do through the Apple Dev Center website. Life's too short to manage device identifiers by hand!
-
Send push notifications from the command line. Simply provide your credentials, construct your message, and 3...2...1... blastoff.
-
Generate Passbook .pkpass files with ease. Rapidly iterate on the design and content of your passes, or generate one-offs on the fly.
-
Secure your In-App-Purchases by verifying App Store purchase receipts, and retrieving the information associated with receipt data.
-
Create development builds and then distribute their .ipa files over TestFlight, HockeyApp, Amazon S3, or FTP. Get new builds out to testers and enterprises in seconds.
Command Line Launcher for the iOS Simulator.
tiny little sinatra app to allow launching an iOS app in the simulator via HTTP
Install and debug iPhone apps from the command line, without using Xcode
.mobileprovision files querying tool
Create and modify Xcode projects from Ruby.
CLI for creating and configuring new Xcode projects https://thoughtbot.com/open-source
Most common environment checks in one place: system version, retina support, UI flat mode, device models and so on.
Detects the hardware, software and display of the current iOS or Mac OS X device at runtime.
Soulful docs for Swift & Objective-C
Package manager for Xcode http://alcatraz.io/
Xcode plugin for auto-hiding the debugger once you start typing in the source code editor.
Xcode plug-in to to use clang-format from in Xcode and consistently format your code with Clang
A Localization Manager for Xcode 5
XcodeColors allows you to use colors in the Xcode debugging console. It's designed to aid in the debugging process.
A lightweight, easy to use, Side Drawer Navigation Controller
PKRevealController (ex. ZUUIRevealController) is a delightful view controller container for iOS, enabling you to present multiple controllers on top of one another.
FXImageView is a class designed to simplify the application of common visual effects such as reflections and drop-shadows to images, and also to help the performance of image loading by handling it on a background thread.
A subclass of UITextView that fixes the most glaring problems from iOS 7 and 7.1.
Configurable morphing transitions between text values of a label.
NSWindow subclass that allows you to apply Core Animation effects.
Makes transitioning between storyboards possible. Using Multiple Storyboards in iOS Development
Natalie - Storyboard Code Generator (for Swift)
UIAppearance Stylesheets
Style iOS apps with a stylesheet, similar to CSS
UINavigationController with custom transitions
Push/Pop transition for entire UINavigationController views.
The ultimate API for iOS & OS X Auto Layout — impressively simple, immensely powerful.
A Swift Autolayout DSL for iOS & OS X http://snapkit.io
Harness the power of AutoLayout NSLayoutConstraints with a simplified, chainable and expressive syntax. Supports iOS and OSX Auto Layout
Declarative Auto Layout in Swift
Parus is simple chain style auto-layout helper for objective-c.
A bundle of small classes which enriches your possibilities with UIKit and CoreAnimation.
An fork of Trevor Harmon's UIImage category methods, updated for the latest versions of iOS.
Simple social authentication for iOS. http://simpleauth.io
A soup-to-nuts sharing library for iOS.
A lightweight callout view class for iOS mimicking UICalloutView.
Geometry functions for Cocoa and Cocoa Touch
A drop-in MapKit/MKAnnotation pin clustering library for MKMapView on iOS
Example App: How To Efficiently Display Large Amounts of Data on iOS Maps, http://robots.thoughtbot.com/how-to-handle-large-amounts-of-data-on-maps/
Library for location-based clustering of data using Quadtree written in Objective-C
FBAnnotationClustering is an iOS library for clustering map notifications in an easy and performant way. https://www.infinum.co/the-capsized-eight/articles/a-blazingly-fast-open-source-algorithm-for-poi-clustering-on-ios
MKMapView with clustering
Simple and easy to use clustering mapView for iOS
A subclass of MKMapView to cluster annotations.
Fast map clusterization build on top of Region QuadTree.
Display and interact with SVG Images on iOS / OS X, using native rendering (CoreAnimation)
Easily convert your SVG files into CGPaths, CAShapeLayers, and UIBezierCurves.
An iOS and OSX audio visualization framework built upon Core Audio useful for anyone doing real-time, low-latency audio processing and visualizations.
Painless high-performance audio on iOS and Mac OS X. http://alexbw.github.com/novocaine/
Transfer data using microphone/speaker on iOS devices
A low-memory footprint audio streamer for iOS and OS X
Open-source audio synthesis, processing, & analysis platform. http://audiokit.io/
Mac and iOS Audio development, minus the headache. ObjectAL is the easy Objective-C interface to OpenAL, AVAudioPlayer, and audio session management. http://kstenerud.github.com/ObjectAL-for-iPhone
XCDYouTubeVideoPlayerViewController
YouTube video player for iPhone and iPad
This is an iOS verion of the "smash hit" Flappy Bird built using iOS7's physics engine.
Flappy Bird Clone for learning purposes—feel free to play along.
Just another yet FlappyBird-style game.
The Art World in Your Pocket
iOS implementation of the University of Michigan's bus dispatch system
An open-source, privacy-enhancing web browser for iOS, utilizing the Tor anonymity network
IRCCloud iOS App
Source code of Telegram for OSX http://telegram.org
Firefox for iOS
Vector illustration app for the iPad.
Painting app for the iPhone and iPad.
Code Examples http://useyourloaf.com
Code examples for the new features of iOS 9.
Code examples for the new features of iOS 8.
Code examples for the new functions of iOS 7.
Repo containing the sample projects associated with the iOS7 Day-by-Day blog series
iOS Custom Segue and Unwind Segue with animation
Basic example of calling and unwinding a segue programatically.
Sample project demonstrating self-sizing table view cells in iOS 8 using Swift and Objective-C.
This is a sample project showing how to contain a UITableViewController in another VC with a Search Bar + Display Controller working as if it were all in a UITableViewController.
From "Intentions: An experiment in Ultralight View Controllers" http://chris.eidhof.nl/posts/intentions.html
An iOS app in assembly
Creating an iOS app in pure C
A Small C Compiler
ROAD - Rapid Objective-C Applications Development