At the most recent CocoaHeads meetup in Shanghai, I presented 21 of my favorite tools which I use on my Mac. These are not necessarily specific to iOS development, but they are all tried and tested tools which save me a few seconds, a few minutes or a few hours of my time.
Bartender ($15, http://www.macbartender.com/) keeps your Mac’s menu bar tidy, by hiding lesser used icons in a separate menu.
cd to (Free, https://www.github.com/jbtule/cdto) is a simple Finder extension which opens a Terminal in the current folder
Stop memorizing or reusing passwords and use LastPass (Free, https://lastpass.com/) to remember the seventeen different logins to iTunes Connect for your different clients.
TextExpander ($34.95, http://smilesoftware.com/TextExpander/index.html) helps expand short abbreviations into longer snippets. This is useful for code, but also for other things like typing out your company’s address in an email.
Many tasks in Git are much easier with a good GUI. I use Tower ($59.00, http://www.git-tower.com/) for more complex tasks like merging and staging partial commits.
If you work with teams in various countries, Clocks ($2.99, http://studiodalton.com/) is a simple tool which sits in your menu bar and shows you the current time at a glance.
If you work with databases, do yourself a favour and get a native app to interface with them. Base ($26.99, http://menial.co.uk/base/) does a great job for SQLite databases, while RoboMongo (Free, http://www.robomongo.org/) works with MongoDB. Clearly there’s not much variation in the icon design for database apps!
The choice of text editor is very personal. I’ve been using Atom (Free, https://atom.io/) for the last year, and it’s rapidly improving. Recent changes to auto-complete have made the editor very slick to use.
Bind a keyboard shortcut to Dash (Free, https://kapeli.com/dash) and you can easily check the documentation for a huge number of languages with a few keystrokes. This is great if you’re working in one language, say Swift, and forget how to do something in another language, say CSS.
Jumpcut (Free, http://jumpcut.sourceforge.net/)http://jumpcut.sourceforge.net/) is one of those tools you don’t realise how much you rely on until you use a computer without it. It stores your clipboard history, and lets you choose which item to paste. So for example you can copy two items in quick succession, then paste both.
When colleagues ask you to do things, don’t interrupt your flow. Fire up Things ($49.99, http://culturedcode.com/things/), add a quick todo, and come back to it later. Slicker than a TODO.txt, you can organise your todo lists into projects and even add recurring todos.
If you need to generate promo codes for the App Store, you can use Tokens ($29.00, http://usetokens.com/) without ever having to open a browser. Tokens will keep track of which tokens have been redeemed too, so you know if your marketing is working.
If you have a Mac with a small SSD, it can quickly fill up with temporary files when developing. DaisyDisk ($9.99, http://daisydiskapp.com/) will help you track down what’s taking up space on your disk – whether a huge DerivedData folder or that movie you downloaded and forgot about.
The hardest part of using source control is the occasional tricky merge. Learn not to dread merges with Kaleidoscope ($69.99, http://www.kaleidoscopeapp.com/)http://www.kaleidoscopeapp.com/), a beautifully designed app for diffs and merges. It will even let you compare images.
Cinch ($6.99, http://www.irradiatedsoftware.com/cinch/) keeps your windows organized. Similar to the Aero Snap feature of Windows, it will snap a window to half the size of the screen if you drag it to one of the edges. Again, you’ll find yourself doing this on computers without it installed.
Another tool I can’t live without is DragonDrop ($4.99, https://shinyplasticbag.com/dragondrop/). Ever starting dragging a file, then realized the Finder window you want to drag to isn’t open? With DragonDrop, you can wiggle your mouse cursor to open up a temporary window to drop the file, then go open the correct Finder window, and finally drop it.
Occasionally you need to rename a bunch of files according to some naming scheme. NameChanger (Free, http://mrrsoftware.com/namechanger/) is a Swiss Army knife for this eventuality, helping you rename using patterns, sequences and more – and it will never overwrite or delete files by accident.
If you need to demonstrate something in a video, ScreenFlow ($99.99, http://www.telestream.net/screenflow/overview.htm) is a professional tool. It will record everything that happens on your Mac’s screen, and even video you using your webcam at the same time. It’s really easy to make polished presentations – it’s also great for capturing user testing sessions.
As a developer, if you can make your designer use Sketch ($99.99, http://www.bohemiancoding.com/sketch/), your life just got so much simpler. Sketch files are much more developer-friendly than PSDs, making it easy to export assets, check fonts and measure distances between elements.
If you are working with any HTTP based APIs, you can install Postman (Free, http://getpostman.com/) to simplify the process of testing requests. It will deal with authentication for you (including OAuth) and let you replay any request from your history.