I just came across a great tool, called Faux Pas.

Faux Pas inspects your iOS or Mac app’s Xcode project and warns about possible bugs, as well as about maintainability and style issues.

It’s in Beta right now, so everyone can download it for free and play with it.

How it works:

– you just select an Xcode project and it will analyse all the content, using a set of rules you can enable/disable

Why I liked it:

– you can enable/disable the rules, rules which are indeed based on best practices

– the rules are documented, with examples and links to documentation (Apple Docs, Stack Overflow, …). What else could we ask for?

– besides simple checks like duplicate images, bad usage of prefixes or IBOutlets declared in the public interface of a class, it checks for more complex stuff like:

Setter invocation in init or dealloc method

Modifying the value of an argument variable

Moving common inclusions into prefix header

Method swizzling

NSLog() used in release build

Class implements -isEqual: but not -hash

Conflicting category methods

and many others

– it comes with a command line set of scripts that can be easily integrated within Xcode or your Continuos Integration system

Just give it a try, it will definitely help you.