Apple Developer Apps & Tools

This site lists applications commonly used for Mac & iOS development.



IDEs

Unless you are doing all your development on the command-line, you absolutely need an IDE to develop apps.

Xcode

The official IDE by Apple to create Mac & iOS apps. If you haven't loved this since it was still named 'Project Builder' you probably still have much to learn.

AppCode

If you actually hate the Mac and are really a Java developer at heart, you'll probably like to look at Xcode alternatives like this by JetBrains, the makers of IntelliJ IDEA.

Fire

Probably not the best IDE in itself, but the underlying 'Elements Compiler' enables fascinating use-cases like writing native Cocoa apps in C# or Java or native Windows apps in Swift.


Texteditors

Developers spend most of their time editing text files, so you'll need something to replace or complement Xcode's text editing capabilities.

TextMate

TextMate has long been the native text editor of choice on macOS but seems to be on a hiatus for a while now.

BBEdit

Actually around since 1992, you can see the 'Carbon' roots of this editor. Despite this and the HTML editing focus this is one of the best editors.

Sublime Text

This is actually a cross-platform editor (and it shows) but it has some awesome features for developers like typing at different positions at once.

Atom

Written in JavaScript and nowhere near 'native', as the most 'hackable' editor ever this may still be configurable to be ideal.

Brackets

This is an HTML editor written in HTML/JS (and it shows) and its also the brainchild of Adobe. But there are a large number of 'extensions'.


GIT & SVN

Even if you are working all-alone you'll still want to use a version control system. You can rely on Xcode's integration or the command line, but a GUI frontend may still be handy.

SourceTree

A quite good and free GUI for Git & HG. What more could you want?

Tower

Another Git GUI, and very expensive. But people swear its worth it. Give it a try.

Versions

If you still use SVN in this day and age, forking out 59$ for this SVN GUI client will be the least of your problems.

GitFinder

Actual integration of Git status into the Finder with badges. Great Idea.


Diffing

Finding differences between files and folders is a common task during development. When 'diff' on the CLI and Apple's File Merge won't suffice you'll need more power.

Kaleidoscope

Expensive, but this can even diff many things developers aren't often interested in, like pictures.

TextWrangler

The free version of 'BBEdit' is actually a text editor, but its 'Folder Compare' beats most dedicated tools hands-down.


Design & Graphics

You'll need mockups for the design, and icons and graphics for the finished app. Even if you have a separate department for those tasks, these tools come in handy.

Pixelmator

Performs 99% of the tasks a developer could want from Photoshop, at a fraction of the price and without any issues like calling home or making your Mac unusable.

Affinity Photo

If Pixelmator is not 'Pro' enough for you, have a look at this. Beware, its a multi-platform app and it shows. It always does. Still 100 times better than Photoshop.

Sketch

Supposedly great at doing Mockups.

Principle

Well-documented tool for designing animated and interactive user interfaces. Seems to be worth the money.

Kite Compositor

Quite new prototyping tool for animations.


Graphics Code Generators

Writing CoreGraphics drawing code is repetitive and not intuitive. Let those apps generate that boring code for you.

PaintCode

Expensive but good documented vector drawing app for Objective-C, Swift or C#.

Schwartz

'A software that allows you to create template-based vector graphic compositions for Objective-C, C, Swift, SVG, and JavaScript.'

QuartzCode

A vector drawing and animation app for Objective-C and Swift. Good documentation but also not cheap.


View Debugging

While Xcode's built-in debugger and tools are enough for most tasks, dedicated view debuggers can save some time.

Reveal

A fancy commercial iOS runtime view debugger

Spark Inspector

Another commercial runtime debugger for iOS Apps.

Interface Inspector

Free OSX tool for investigating the 'user interface structure and properties of any Mac application at runtime'.

FLEX

Free in-app debugging iOS development tool that allows you to 'view and modify nearly every piece of state in your running application'.


Code Analysis

Xcode already has the excellent 'Clang Static Analyzer' built in, but it only works with ObjC and some professional tools can find more problems, before your customers find them.

Faux Pas

Commercial analysis tool to inspect iOS or Mac app’s Xcode projects and warns you 'about possible bugs, as well as about maintainability and style issues.'

OCLint

A free 'static source code analysis tool to improve quality and reduce defects for C, C++ and Objective-C'.

Infer

A Facebook Open Source project that detects potential bugs before you ship your app.

Tailor

If you are willing to install java you can use this tool to analyse your Swift code.

XClarify

The 'Swiss Army Knife for Objective-C developers'. A helpful (commercial) tool to analyse and better understand your ObjC code.

Codebeat

Checks your public repository for refactoring opportunities. Free if your repo is public, commercial if you're private.


Server

Most apps these days have to communicate with a backend of some kind, so even as a real native developer, you'll have to deal with the server or a database.

Postman

Probably worth a look if you have to interact with REST APIs on the server from your app.

SequelPro

A free GUI frontend to administer MySQL databases.

SQLPro for MySQL

A commercial GUI frontend to administer MySQL databases.

Navicat 12 for MySQL

A really expensive commercial GUI frontend to administer MySQL databases.

DB Browser for SQL Lite

A free tool to look inside and administer SQLITE databases. Especially handy since many Apple apps store their data as SQLITE DBs.

ImageOptim

Got images on your server? They are probably larger than they ought to be, unless you've already run ImageOptim on them. Beware of the colorspace bug though.


CLI & Tools

Every developer needs to down to the CLI. A lot of great stuff is already pre-installed but you'll need more.

iTerm

Apple's Terminal not 'Pro' enough? Enter iTerm.

brew

Previously there was 'Fink' and 'MacPorts' to conveniently install (and remove) command-line tools on your Mac, now brew is the standard.

CocoaPods

Your app has dependencies, and if you don't want to manage them by-hand in Xcode, you need a dependency manager like CocoaPods.

Carthage

If you find CocoaPads to invasive for Xcode dependency management, stare long and hard at Carthage.

SwiftPM

Need a dependency manager but already jumped ship to Swift all the way? SwiftPM is probably the future for Swift Xcode dependencies.


Documentation & Snippets

Xcode has a handy API documentation browser and code snippets manager, but external tools can provide more features for heavy users.

Dash

Provides documentation browser and snippet manager just like Xcode but supposedly better. Got free marketing from Apple when it was kicked from the Mac App Store.

Quiver

A "notebook built for programmers". Could come in handy.


Live Coding

Every once in a while you need to 'try out code'. Creating a project every time is overkill. Live Code Environments bring the productivity of interactive interpreters to compiled languages.

CodeRunner

This is already up to version 2 and supports a staggering 23 languages, so its definitely worth its modest asking price.

InstaCode

Free tool to try out code quickly. Indentation is definitely bugged.


On-The-Go

Even the best hacker sometimes needs to leave his machine at some time. Mobile devices keep productivity up on the go and on the couch.

Swift Playgrounds

Hacking Swift on the iPad probably sounds like the only reason to buy such a device in the first place.

Coda

Text Editor with SSH support on iOS. Probably a good idea if you attach a keyboard.

Blink Shells

"Professional" terminal for Mosh and SSH.

Screens

Control real computers via VNC from a mobile device. Best or worst idea ever?

XMPV

Open your favourite Xcode projects on-the-go.


Misc Tools

Some of the greatest tools won't fit into the categories above. Some aren't strictly developer tools, but may still come in handy for common tasks.

Base64 Anywhere

If you are using Base64, this free tool is a must-have.

Find Any File

Shareware tool to find where Spotlight gives up (i.e. every place a developer would ever search).

Expressions

A handy tool to quickly generate and test regular expressions.

Hex Fiend

Hex Editing is a healthy alternative to showering and Hex Fiend is still the free tool of choice.

Hopper Disassembler

Disassembling makes you strong and Hopper is probably the best disassembler on the Mac.

UninstallPKG

Installed a PKG? Want it gone again? Enter UninstallPKG.

Pacifist

If you'd rather look inside a PKG than install it, Pacifist is one choice.

Suspicious Package

If you'd rather look inside a PKG than install it, Suspicious Package is your other choice.

PathFinder

If you are fed up that you can not only freeze the Finder but even your whole Mac just by starting a lot of copy operations, go PathFinder and don't look back.

BitBar

BitBar can execute any script and display its output in the menubar. We use it to keep track of unpublished app changes. The possibilities are endless.

DesktopCoverer

Saves you from having to make a clean account for making those shiny promotion screenshots.

CyberDuck

There are many (S)FTP tools and all have their downsides, but CyberDuck is at least free. And a yellow duck.

LaunchControl

Nice GUI tool for those times you need to interact with launchd agents or daemons.

LittleSnitch

Reverse Firewall, i.e. block (or just observe) outgoing connections.

LaunchBar

No Mac can be used quickly for anything without installing a launcher like LaunchBar, Alfred or QuickSilver. Obviously LaunchBar is the best one.

MailboxAlert

E-mail inboxes become full and then you can't receive e-mails anymore. And you won't even know it has happened. Unless you have MailboxAlert.

MkConsoleElement

Your app doesn't work as intended? Probably the cause has been silently logged to the system logfile. Unless you want Console.app open all day, use MkConsoleElement.

NameChangerFinder

NameChangerFinder now has some basic batch-rename facilities. But if you need more and want a free GUI tool, use NameChange. Bonus points if you can do it more quickly in the Terminal though.

OmniDiskSweeper

The age of SSDs brought back the age of too-small-disks. OmniDiskSweeper is the free tool of choice to know where the space has gone and do some cleanup.

VMware Fusion

The only realistic way to test your Mac app on 3-8 different OS versions is with virtual machines. Parallels or VirtualBox might work too.

Freeter

If you need to increase your productivity you can buy this organizer or just delete your facebook account.