/iOSDevTools

Set of repositories for different development tasks.

iOSDevTools

Set of open sources for different development tasks.

Networking

Image Processing

UI

Autolayout

Animation

PDF

  • M13PDFKit M13PDFKit is an iBooks like PDF viewer that can be embedded in iOS applications.

Cache

Data

File System

  • FCFileManager iOS File Manager on top of NSFileManager for simplifying files management.

APNS tools

  • APNS-Pusher A simple cocoa app to send pushes via APNS

Date

  • iso-8601-date-formatter A Cocoa NSFormatter subclass to convert dates to and from ISO-8601-formatted strings. Supports calendar, week, and ordinal formats.

Debug Tools

  • PonyDebugger Remote network and data debugging
  • CocoaLumberJack Flexible logging framework for Mac and iOS
  • superdb realtime wireless debugger for iOS
  • OHHTTPStubs Stub network requests
  • NSLogger A modern, flexible logging tool
  • Xtrace Trace Objective-C method calls by class or instance
  • RHObjectiveBeagle Beagle is an Objective C debugging tool that can sniff out class instances on the heap.
  • KSCrash The Ultimate iOS Crash Reporter
  • chisel Chisel is a collection of LLDB commands to assist debugging iOS apps.
  • plcrashreporter Mirror of the official PLCrashReporter repository

Unit Tests

  • Kiwi BDD for iOS
  • GHUnit Test Framework for Objective-C
  • OCMock Objective-C implementation of mock objects

UI Tests

  • UI AutoMonkey Stress testing script for iOS applications
  • Calabash BDD style UI testing
  • KIF Keep It Functional - An iOS Functional Testing Framework

Device

  • iHasApp Detect installed apps on a user's device
  • IntentKit Handle third-party URL schemes in iOS apps
  • iOS System Services Gather all available information about a device
  • SOMotionDetector Simple library to detect motion type (walking, running, automotive).
  • GBDeviceInfo Detects the hardware, software and display of the current iOS or Mac OS X device at runtime.

Location

Map

Media

Vendor SDKs or/and it wrappers

Applications

Xcode Plugins

Xcode Templates

Xcode configurations & scripts

  • Warnings-xcconfig An xcconfig (Xcode configuration) file for easily turning on a boatload of warnings in your project or its targets.
  • xc-launch A small script to launch Xcode using a RAM disk
  • WMPiOSXcconfig A set of .xcconfig with aggressive warning settings for iOS projects.
  • projconf A Mac OS X command line tool for transfefring Xcode build settings to .xcconfig files.

Tools

  • Crafter Crafter - setup your cocoa projects with ease. http://merowing.info
  • iOStream Mobile presentations made easy. Install the SDK and start streaming now.
  • iOS-Build-Kit BuildKit is a modular command line interface for automating iOS project builds. Bundled build tasks include: Increment app version • Xcode build • Overlay version number on icon files • Run unit tests • Create .ipa artefact.
  • fui Find unused Objective-C imports.
  • class-dump Generate Objective-C headers from Mach-O files. http://stevenygard.com/projects/class-dump
  • iOS-Universal-Library-Template An Xcode 4 project template to create universal (armv6, armv7 and simulator) frameworks for iOS.
  • chisel Chisel is a collection of LLDB commands to assist debugging iOS apps.
  • objc_dep Graph the import dependancies in an Objective-C project
  • IconOverlaying Sample project showing how to overlay information on Icon in iOS App.
  • CPDAcknowledgements Show your CocoaPods dependencies in-app.
  • liftoff CLI for creating and configuring new Xcode projects
  • objc_strings Helps in localizing Cocoa applications by showing unused/missing keys in Localizable.strings.
  • homebrew The missing package manager for OS X. http://brew.sh
  • Cakebrew Manage your Homebrew formulas with style using Cakebrew.
  • iOS-Hierarchy-Viewer iOS Hierarchy Viewer allows developers to debug their user interfaces.
  • Alcatraz Package manager for Xcode 5 http://alcatraz.io
  • quick-look-plugins List of useful Quick Look plugins for developers
  • git-extras GIT utilities -- repo summary, repl, changelog population, author commit percentages and more
  • ios-makefile The universal makefile for my iOS projects distributes IPAs in seconds
  • rchook Make Xcode bump build #, tag git, and archive files on Product->Archive

Editing code

  • Monokai Xcode 4 Theme is the syntax highlighting theme I like
  • SourceTree is my Git GUI client of choice
  • Kaleidoscope is great for resolving merge conflicts and general diffing
  • I like Sublime Text 2 as a general text editor, despite its many quirks
  • CodeRunner is great for quickly testing out snippets of code
  • xctool is a replacement for Apple's xcodebuild tool but with saner output

Tweaking and debugging

  • xScope is great for achieving pixel-perfect results in your UIs
  • Spark Inspector lets you visualise UIView hierarchies at runtime
  • I use PhoneView if I need to poke around the file system of an iOS device
  • Quick Radar makes filing bug reports with Apple a cinch
  • SimPholders sits in your menu bar and gives quick access to the app folders for the iOS Simulator

Debugging web services

  • I use Charles Proxy to see what's happening on the network when an app is running. (See Using Charles from an iPhone for instructions on how to see the traffic going to and from a local device.)
  • Postman for Chrome is an HTTP client for testing RESTful web services. I use this a lot.
  • jq is a command-line JSON parser and mangler. It takes some learning, but it's a great tool for picking the stuff you care about out of a big load of JSON. (Tip: pipe a JSON stream through jq '.' to format it.)

Core Data

  • mogenerator keeps auto-generated Core Data entity classes and your higher-level logic separate. A must-have if you're working with Core Data.
  • Core Data Editor is a GUI tool for browsing Core Data persistent stores. (Tip: double-click an item to see and navigate its relationships.)
  • Base is a general-purpose SQLite GUI – sometimes it's quicker to just open a Core Data SQLite DB in Base than it is to use Core Data Editor, since CDE generally needs reconfiguring if your data model or the location of the persistent store changes.

Screencasting

  • Reflector is a stroke of pure genius: it lets you record screen activity on an iOS device by simply making itself available as an AirPlay target. Set your iOS device to mirror to it and you're good to go. File under damn, I wish I'd thought of that.
  • I love ScreenFlow for screencasts from my Mac. I've tried a few screencasting apps over the years and this one is the best of the bunch.

Deployment and beyond

  • After years as a TestFlight user I switched to HockeyApp and never looked back. HockeyMac is the native companion app that makes uploading to HockeyApp as part of the Xcode archiving process a doddle.
  • Tokens helps you manage promo codes with zero hassle

Miscellaneous

Not really development tools, but useful adjuncts to my day-to-day workflow.

Swift

iOS-Swift-Demos iOS Swift Demos from Apple