iOS Dev Tools

The greatest iOS development tools, including websites, desktop and mobile apps, and back-end services.
Updated daily by Adam Swinden.

If you have any suggestions for tools that you would like to see added to the list, please let me know by email, Twitter or Facebook.

Sponsor

Agent.ai enables app developers to respond to their users faster, 24/7/365, while helping service agents become more productive. Our solution leverages a host of features, most importantly artificial intelligence, designed to improve engagement, customer retention and expedite the time it takes for customers to get resolutions to their questions. In other words, we help apps provide faster support while reducing costs, and improving customer satisfaction.

Sponsor iOS Dev Tools.

Crafter

A command line tool for Xcode project configuration. Crafter takes the Xcode templating system one step further by letting you define your Xcode project configuration once, then by calling 'crafter' from the command line you will be guided through your custom project setup. Custom options include adding build settings and options, duplicating build configurations, adding a gitignore file and Cocoapods dependencies, custom scripts, and more. Crafter could save you hours of tedious project setup.

Other Similar Tools

Expressions

A super simple app for playing with and testing regular expressions. Expressions is probably the best looking regex app with a beautiful minimalistic UI, fullscreen support, automatic dark and light modes, and an editor that gives you full regex syntax highlighting and a live preview of your expression's results. You can choose between highlighting entire matches or just a single group within your match and easily switch between matched groups with a keyboard shortcut of menubar item.

Deco

An IDE for building React Native apps. Deco improves the React Native development workflow by focusing on component reuse and enabling you to edit your UI in real time. It's great for prototyping and visual work, thanks to the speed of inserting and tweaking components. Instant "new project" creation makes building individual components and libraries for publishing on npm much more convenient. Deco is also very useful for learning React Native, since you can play with the built-in components without first reading up on their APIs. Deco is now free and open source on Twitter.

MacDown

An open source Markdown editor for OS X, released under the MIT License. MacDown is heavily influenced by, the seemingly defunct, Mou offering a similar editor and live preview interface. It uses the Hoedown parser meaning it's both efficient and highly configurable, including syntax highlighting in fenced code blocks with language identifiers, TeX-like math syntax, GFM task lists, Jekyll front-matter, and more. You can also provide custom CSS for PDF and HTML rendering to get the exact style you're looking for.

Swiftify

A simple web app for converting Objective-C code to Swift. Swiftly currently supports conversion of method or class declarations or implementations including types, protocols, categories, properties, and more. You can use Swiftly directly using the online editor and converter or through the web api that lets you send a POST request to convert Objective-C. Could be useful for anyone looking to build the same thing as an Xcode plugin.

RegExr

An online tool for learning, building, & testing regular expressions. RegExr lets you quickly create regular expressions with results updating in real-time as you type. You can roll over any match or expression for details such as range, groups and reference. Expressions can be saved & shared with others or you can search for and rate community patterns. RegExr also includes a complete regular expression reference library, cheatsheet, and several examples to help you get your patterns right.

KZPlayground

Just like Swift Playgrounds, but for Objective-C. Like their Swift counterparts, KZPlaygrounds allow you to test out bits of code and see results in real time without having to build and run each time you make a change. KZPlaygrounds feature extra controls for tweaking values and images; auto-animated values; buttons; and access to all iOS features, so you can prototype production ready code. They are also IDE agnostic, once you run it, you can modify the code even from vim. Krzysztof Zabłocki has even managed to perform all sorts of wizardry to make KZPlaygrounds faster than Swift Playgrounds.

Patterns

A simple yet powerful tool for working with regular expressions. Patterns helps you create regular expressions quickly and effortlessly with syntax colouring that makes it easy to see how your pattern is interpreted by the regex engine. Matches and replacements happen in real time while you edit your pattern and when you're happy with your regular expression you can copy match and replacement code snippets for use in a number of different programming languages including Objective-C. There's also a built-in regular expression reference sheet that helps you find the piece of regex syntax you need.

RunSwift

A website that allows you to write and run Swift from within the browser. RunSwift gives you a simple editor where you can write Swift, and a console that displays output. While you cannot import abitrary modules, a small subset of Foundation is included making it a great place to quickly try out some Swift without firing up Xcode. There is also a step-by-step interactive lesson that will walk you through the basics of the Swift language while allowing you to continue to play in the editor. RunSwift is also fully responsive so you can even write Swift on your iPhone or iPad!

Faux Pas

A Mac app that inspects your iOS or Mac app’s Xcode project and warns about possible bugs, as well as about maintainability and style issues. Faux Pas goes beyond what the Clang Static Analyzer can do by looking at more than just your code. It can find all sorts of problems in your Xcode projects including bugs that may only manifest later on, resource file errors, localisation errors and loads more. It can even help to enforce best practices or a certain code style. It can be integrated into Xcode to run during builds or can be launched from the GUI or command line.

RegExRX

A regular expression development tool for OS X. RegExRX is based on the PCRE library which allows users to develop and store patterns that are compatible with most flavours of regular expression. Features include live matching and replacing against source text, a templates menu of frequently used patterns, saving patterns, matches and result text to be used later, and loads more. Best of all you can export your patterns to several programming languages including Objective-C.

StoryboardLint

A lint tool for UIStoryboard to find wrong classes and wrong storyboard/segue/reuse identifiers. StoryboardLint can make sure that your code and your Storyboards are in sync by checking that cell reuse identifiers and storyboard and segue identifiers are named according to a convention, that all custom classes that are referenced from your storyboard actually exist is your code, and that all string literals in your code that reference reuse/storyboard/segue identifiers actually exist in your Storyboards. Anything incorrect is shows in Xcode and a build warning or error.

Dringend

A fully-fledged iOS & Mac development environment on your iPad. Dringend is basically Xcode for your iPad - you can import and export existing Xcode projects using Dropbox and build and run your iOS projects on your iPad. It has full syntax highlighting, find and replace, auto-indentation and a code structure list to view methods and pragma marks in files. The only downside is that Drigend relies on a companion app that runs on your Mac to compile apps and send the output back to the iPad. But it does set up port forwarding on your router so you should in theory be able to compile anywhere with an Internet connection.

Snippet Edit

A simple Mac app that lets you edit and disable Xcode's built in code snippets. Although you can already edit snippets in Xcode, Snippet Edit lets disable certain snippets preventing them from showing in the code completion menu. Editing is non-destructive, you can revert to Xcode's default snippets at any time.

Objective-Clean

There is no single correct way to style code but if you're the sort of person who thinks there is, then Objective-Clean might become your new favourite tool. It's a Mac app that lets you set rules to define the formatting of your code, including use of whitespace and line breaks, and apply them to your Xcode projects using a build script. Any code that doesn't conform to the rules is highlighted with a warning or error (which can be configured). You can create your own rules or download the rules voted most popular by other developers.

Watchdog for Xcode

A Mac app that monitors Xcode and automatically cleans up stale cache files that prevent you from getting a good build. I regularly find myself wasting time deleting DerivedData to get indexes to update or include updated resources so this app saves me a lot of time.

CodeRunner

Edit and run code in any programming language in a lightweight editor. Great for testing code snippets without having to create a new Xcode project or mess up your actual app code.

AppCode

The best alternative to Xcode. AppCode is a complete Objective-C IDE that includes lots of features that Xcode really should including code quality tracking, better code completion, automatic #import, and loads more.

Chocolat

My text editor of choice. Includes split editing, code completion, block editing, code folding, documentation and more. Free to trial and when the trial runs out you can use the app for free but limits you to Comic Sans (I can't think of a better reason to upgrade).

Mou

Not particularly related to iOS development, but this is my favourite tool for editing Markdown. Includes a live preview and a handy Markdown reference.

Xcode Statistician

A little Mac app that analyses your Xcode projects to tell you how many lines, how many statements, how many characters, how many words and how many classes you've written. Good for bragging rights, or just to see how bloated your code base has gotten.