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.
If you liked it, feel free to suggest any new projects that are not present in the current list. See Contribution.
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.
Also I keep another catalogue of projects: it contains the list of candidates for this catalogue. After I am sure enough that a particular candidate-project deserves its place here, I move it here from the list of Candidates.
Note! This catalogue also includes a number of projects which are not open-source but are still somehow related to a development of iOS/Objective-C applications.
Suggestions are welcome! New projects are welcome!
👍 Emoji badges 👍. Recently I started using emoji badges to mention the projects which I think are definitely worth attention. My intention is to make these badges especially useful for newcomers - the folks who just start programming for OSX/iOS platforms. Please note that presence or absence of such badges near a particular project does not point you to anything else than just a personal preference I have for this project - it maybe subjective, it may change later - so please do not be serious about it.
Last update: 2014-10-29
Table of Contents generated with DocToc
- Contents
A delightful networking framework for iOS and OSX
- RestKit 👍
RestKit is a framework for consuming and modeling RESTful web resources on iOS and OS X
A framework for composing and transforming streams of values
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/
ROAD - Rapid Objective-C Applications Development
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
A simple, fast circular buffer implementation
Tree data structure implementation for iOS without using CFTree. Keywords: iOS, tree, algorithms, data structures, binary, b-trees.
A delightful Promises implementation for iOS
An Objective-C Class which implements the Promises/A+ specification.
Objective-C Promises in the CommonJS style
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
Coding conventions for Objective-C projects.
Style guide & coding conventions for Swift projects
The New York Times Mobile Team’s Objective-C Style Guide.
Zen and the Art of the Objective-C Craftsmanship
A quick reference cheat sheet for common, high level topics in Objective-C.
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
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.
Model framework for Cocoa and Cocoa Touch
A powerful value transformation API extracted from RestKit
Distributed version control + object persistence framework http://coreobject.org
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.
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.
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/
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
- Xtrace 👍
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
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.
BDD for iOS
A light-weight TDD / BDD framework for Objective-C & Cocoa
BDD-style testing using Objective-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.
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.
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.
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.
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
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.
-
Shenzhen 👍
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
Detects the hardware, software and display of the current iOS or Mac OS X device at runtime.
- Alcatraz 👍
Package manager for Xcode http://alcatraz.io/
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.
Makes transitioning between storyboards possible. Using Multiple Storyboards in iOS Development
Configurable morphing transitions between text values of a label.
NSWindow subclass that allows you to apply Core Animation effects.
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 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
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
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.
Vector illustration app for the iPad.
Painting app for the iPhone and iPad.
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
Code Examples http://useyourloaf.com
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
EKAlgorithms contains some well known CS algorithms and other stuff.
A swift based implementation of the Dijkstra algorithm
Cocoa framework for updating OS X apps
A software update framework for OS X. http://sparkle-project.org/