I probably spend too much money on apps, but I like to support other Developer's good ideas.
I recently gave talk about tools I use and why.
Initial setup
Crafter
How do you setup your Cocoa projects? Do you always set same warnings, clone configurations and do bunch of other stuff? Or maybe you work in a big company and you are missing some standardised setup?
Programmers tend to automatise boring and repetitive tasks, yet I often see people spending time and time again configuring their Xcode Projects, even thought they always set it up same way.
We all know that Xcode templating system is far from perfect, beside we often use different templates, but same level of warnings, scripts etc.
What if you could define your project setup once (even with optional stuff) then just apply that to all your projects?
That's why I've created Crafter
Icon versioning
Ever had someone testing wrong version of the app?��
This little build-phase script will let you know if someone is running old version of your application.
Day to day use
AppCode
If you don't know what AppCode is, you are about to have your world shaken up.
AppCode is probably best IDE I've had pleasure to work with, it has extensive amount of small features that will improve your workflow by a ton. Let's just name a few:
- Reliable and efficient refactoring, Xcode can't even compare.
- Code quality tracking beyond just LLVM.
- Code navigation that let's you find contextual uses and much much more.
- Diff and merging integrated so well that even Kaleidoscope can't compare.
- Plugins. Official supported plugins that is.
- Powerful code formatting setup, define once, apply everywhere, every time.
- Contextual snippets.
Java might put you away from this, but you really deserve to force yourself and use it for a week, I hate Java and I love AppCode.
CodeRunner
Great tool for testing snippets of code in many languages, no need to create a project to play with some small algorithm. Great little time saver.
Dash
Fastest documentation browser available, really impressive UIX and ease of use. Integrates well with AppCode.
xScope
Great set of tools that can help you save lots of time when working with designs, it can even simulate user vision problems like colour blindness.
UberLayer
Simplest way to check if your designs are pixel perfect.
Hex Color Picker
Add hex support in all OSX colour pickers, how many times did you get colours in hex and had to use some website to translate that to RGB to use it in Interface Builder? Enough of that.
What The Font
Ever saw a font you loved but could't find the name? Here's the tool you need.
Code injection
Great plugin that let's your recompile single file you are working on. If you do small changes and need to see them running in your app, eg. graphics or physics adjustments this will save you hours.
HockeyCoach
Great way to view crash reports. Connects to your repository and hockey account and gives you great aggregation of crashes, stack traces and many other features. Finding what made the app crash is a lot less painful.
VVDocumenter
This great plugin allows you to add documentation comments in Xcode with ease, it's like code snippet but on steroids. It grabs names from the code you want documented and enters template for you to fill in.
NSLogger
Best iOS/OSX logger I've seen to date, filtering, tagging, logging images and binary data and much much more. All wirelessly over bonjour.
Patterns
Simple but powerful tool for creating regular expressions. I never remember syntax, do you? This makes my life easier.
WatchDog
Ever had problem with wrong symbols? Had to remove derived data as a solution? This little tool will monitor your actions and do proper clean when you clean in Xcode. It can also release lots of space from your Macbook as Derived data tends to grow quite large.
Debugging
Charles
Best way to verify network connectivity in your apps or doing some hacking on someone else's app. Works as a proxy between your app and network and lets you see all data connections.
Reveal
Great tool for inspecting UI problems, it can even modify your UI in real-time, thus allowing you to find issues quicker.
Other tools
Wasted
Nice tool that helps to check how much space are your images wasting and optimise it.
We tend to use PNG's everywhere but that's not always optimal, this tool will show you why.
Slender
Find unused assets or mismatched dimensions in your apps.
Tokens
This is my favourite tool for redeem codes, great UIX and effective tracking of who and when used your code, if they didn't you can reuse your code.
RamDisk
This script will let you create ramdisk for iOS sim, derived data a few other important folders. This can make your development wayyy faster.
Conclusion
Make sure you check out those tools, I'd love to hear your opinions and other tools you find useful.