OCLint

OCLint is a static code analysis tool for improving quality and reducing defects by inspecting C, C++ and Objective-C code and looking for potential problems like:

Possible bugs - empty if/else/try/catch/finally statements

Unused code - unused local variables and parameters

Complicated code - high cyclomatic complexity, NPath complexity and high NCSS

Redundant code - redundant if statement and useless parentheses

Code smells - long method and long parameter list

Bad practices - inverted logic and parameter reassignment