iOS-Projects-Catalogue
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.
Both Github version and this Web version of this catalogue are available.
Suggestions are welcome! New projects are welcome!
Last update: 2014-04-30.
Contents
Frameworks
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.
A delightful networking framework for iOS and OSX
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
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.
ROAD - Rapid Objective-C Applications Development
Extensions for Objective-C and Cocoa frameworks
A Cocoa library to extend the Objective-C programming language.
Custom attributes for ObjC properties.
ObjectiveC additions for humans. Ruby style.
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
Data structures
A simple, fast circular buffer implementation
Tree data structure implementation for iOS without using CFTree. Keywords: iOS, tree, algorithms, data structures, binary, b-trees.
Libraries implementing Promises (Futures) pattern
A delightful Promises implementation for iOS
An Objective-C Class which implements the Promises/A+ specification.
Macros utilities
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
Conventions / Style guides
Coding conventions for Objective-C projects.
The New York Times Mobile Team’s Objective-C Style Guide.
A quick reference cheat sheet for common, high level topics in Objective-C.
Low level
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
Other
EKAlgorithms contains some well known CS algorithms and other stuff.
Cross-platform development
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#.
Networking
Servers
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)
Sockets
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
Logging
AFNetworking Extension for HTTP Request Logging
Other
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.
Data
Model framework for Cocoa and Cocoa Touch
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/(
Core Data
A lightweight Active Record - style of managing CoreData objects.
SQLite-based
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.
NoSQL
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.
Key-Value stores
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
Debugging tools
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.
A simple Objective-C singleton to instrument, protect, trace, and suppress selectors at runtime
Dynamic code injection Tool
Logging
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.
Testing
Testing frameworks
BDD for iOS
A light-weight TDD / BDD framework for Objective-C & Cocoa
BDD-style testing using Objective-C
Test Automation
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.).
Stubbing tools
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.
VCR tools
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
Other
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
Deployment
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.
Beta testing
Complete mobile beta testing solution. One platform to orchestrate your entire mobile testing process.
Analytics
Analytics framework for iOS
Simplify your iOS analytics
Providers
INDUSTRY-LEADING APP ANALYTICS FOR FREE
...the most powerful, yet lightest weight crash reporting solution.
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
Command-line tools
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
Xcode plugins
Xcode plug-in to to use clang-format from in Xcode and consistently format your code with Clang
A Localization Manager for Xcode 5
iOS7
Code examples for the new functions of iOS 7.
Repo containing the sample projects associated with the iOS7 Day-by-Day blog series
UI
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.
Transitions
UINavigationController with custom transitions
Push/Pop transition for entire UINavigationController views.
UIKit extensions
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.
Social
Simple social authentication for iOS. http://simpleauth.io
Maps
A lightweight callout view class for iOS mimicking UICalloutView.
Geometry
Geometry functions for Cocoa and Cocoa Touch
Clustering
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.
Graphics
Display and interact with SVG Images on iOS / OS X, using native rendering (CoreAnimation)
Audio
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
Games
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.
Applications
Graphics
Vector illustration app for the iPad.
Painting app for the iPhone and iPad.
Other
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