stanislaw / Ios Projects Catalogue
Labels
Projects that are alternatives of or similar to Ios Projects Catalogue
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.
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: 2016-09-16
Table of Contents generated with DocToc
-
Contents
- Catalogues
- Conventions / Style guides / Best practices
- Developer Tools
- 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
Contents
Catalogues
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.
Conventions / Style guides / Best practices
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.
Objective-C
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.
Swift
Style guide & coding conventions for Swift projects
The official Swift style guide for raywenderlich.com.
Developer Tools
IDE
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.
Terminals
a system-wide terminal available on a hot-key
iTerm2 is a terminal emulator for Mac OS X that does amazing things
Version Control
A free Mercurial and Git client for Windows or Mac
The easiest way to use GitHub on Mac.
Network
Paw is a full-featured HTTP client that lets you test the APIs you build or consume. It has a beautiful native OS X interface to compose requests, inspect server responses and generate client code out-of-the-box.
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).
Database Browsers
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
App and Code Analysis Tools
Find errors in your iOS or Mac project
UI Tools
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
Productivity
Paste – smart clipboard history & snippets manager
Other
Quick Look plugin for .ipa and .mobileprovision
Frameworks
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/
Extensions for Objective-C and Cocoa frameworks
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
Dependency Management
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/
Auto-updates
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
Design Patterns implemented in Swift
Design pattern samples implemented in Java
Promises / Futures / Deferred
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
Observer / Binding
Data Binding and MVVM for iOS
Simple, modern, thread-safe key-value observing for iOS and OS X.
A Swift binding framework
State Machine
Swift µframework for creating state machines
Algorithms
EKAlgorithms contains some well known CS algorithms and other stuff.
A swift based implementation of the Dijkstra algorithm
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.
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#.
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.
Application Platforms
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.
Networking
Elegant HTTP Networking in Swift
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.
Database
Realm is a mobile database: a replacement for Core Data & SQLite
Distributed version control + object persistence framework http://coreobject.org
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.
Cloudant Sync iOS datastore library.
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
Encryption
SQLCipher is an SQLite extension that provides 256 bit AES encryption of database files. http://sqlcipher.net/
Data
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.
Date tools
Dates and times made easy in Objective-C
Objective-C class to calculate Sunrise/Sunset/Twilight times.
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
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
Painless code injection for OS X
Debugging
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)
Logging
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.
Core Data
GDCoreDataConcurrencyDebugging helps you find cases where NSManagedObject's are being called on the wrong thread or dispatch queue.
Build Tools
Correct, reproducible, and fast builds for everyone.
Testing
Testing frameworks
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
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.
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.
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.
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.
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
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.
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.
The web-based solution for managing your testers. For Android & iOS!
Analytics
Analytics framework for iOS
Simplify your iOS analytics
Providers
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
Crash reporting tools
...the most powerful, yet lightest weight crash reporting solution.
Bugsnag notifier for iOS and OSX apps, https://bugsnag.com/
The Ultimate iOS Crash Reporter
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
.mobileprovision files querying tool
Xcode project configuration
Create and modify Xcode projects from Ruby.
CLI for creating and configuring new Xcode projects https://thoughtbot.com/open-source
Device information
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.
Documentation
Soulful docs for Swift & Objective-C
Xcode. Tools and Plugins
Package manager for Xcode http://alcatraz.io/
Xcode plugin for auto-hiding the debugger once you start typing in the source code editor.
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
XcodeColors allows you to use colors in the Xcode debugging console. It's designed to aid in the debugging process.
Tool to sort #import's and #include's in alphabetical order. Compatible with Xcode 8.
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.
Configurable morphing transitions between text values of a label.
NSWindow subclass that allows you to apply Core Animation effects.
Storyboards
Makes transitioning between storyboards possible. Using Multiple Storyboards in iOS Development
Natalie - Storyboard Code Generator (for Swift)
Stylesheets
UIAppearance Stylesheets
Style iOS apps with a stylesheet, similar to CSS
Transitions
UINavigationController with custom transitions
Push/Pop transition for entire UINavigationController views.
Auto Layout
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.
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
A soup-to-nuts sharing library for iOS.
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
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.
Graphics
SVG
Display and interact with SVG Images on iOS / OS X, using native rendering (CoreAnimation)
Easily convert your SVG files into CGPaths, CAShapeLayers, and UIBezierCurves.
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
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
Video
XCDYouTubeVideoPlayerViewController
YouTube video player for iPhone and iPad
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
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
Browsers
Firefox for iOS
Graphics
Vector illustration app for the iPad.
Painting app for the iPhone and iPad.
Code Examples
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
A collection of programmatic how-to code examples for each cases to write a Cocoa GUI (AppKit) app and some non GUI stuffs.
Low-level
An iOS app in assembly
Creating an iOS app in pure C
Compilers
A Small C Compiler
Other / Unsorted
ROAD - Rapid Objective-C Applications Development