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.


Most developers debug their apps from logs generated by the application. If you've ever received bug or issue reports from users, you'll know they can be hard to replicate.

Bugfender is the simplest way to collect your app's usage data from real users on real devices. It's easy-to-use SDK can be setup in under 60 seconds, which sends logs to our online storage service. You can filter through logs, devices and even individual users to help identify issues, fix bugs and provide even better customer support.

Sponsor iOS Dev Tools.


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.

Other Similar Tools


A mobile app development tool built on React Native that enables you to build and deploy native iOS and Android applications using JavaScript. According to the creators, Expo is to React Native as Rails is to Ruby. Writing an Expo app is like writing a React Native app, except you never need to open Xcode or Android Studio, or write any native code. The Expo SDK provides access to system functionality such as contacts, camera and social login. It also provides UI components to handle a variety of use-cases that are not part React Native core including icons, an image lightbox, a loading overlay and more.


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.


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.


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.


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.


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.


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.


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.


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.


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.


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.


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.


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.


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.


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).


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.