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. What the...
Description
Faux Pas inspects your iOS or Mac app’s Xcode project and warns about possible bugs, as well as about maintainability and style issues.
What the Clang Static Analyzer is to your code, Faux Pas is to your whole Xcode project. Faux Pas doesn’t just look at your code – it inspects all the elements of your Xcode project together. This allows it to find completely new classes of potential issues.
• Tame latent bugs – Rules like these alert you to issues in your project that might manifest as bugs later down the line:
• Find resource file errors – Are you sure you didn’t make a typo in the filename argument to [UIImage imageNamed:]? Did you remember to update all relevant code when you renamed that file? Are you shipping any resource files that are probably unused? Faux Pas comes with 12 different rules that check for errors related to resource file usage.
• Find localization errors – Is NSLocalizedString() referring to a key that does not exist? That exists for one locale but not another? Do all of the format specifiers in all the different translations match? Faux Pas comes with 10 different rules that check for localization errors.
• Find version control errors – Is your project referencing a file that is outside the version control root? Or a file that is ignored by the VCS? Faux Pas comes with 4 different rules that check for version control errors.
• Learn and enforce best practices – Overriding +initialize in a category? Specifying UIViewController NIB name outside of its implementation? Accessing the address book without specifying an NSContactsUsageDescription? Faux Pas is useful even for experienced iOS/Mac developers, but it’s especially great for newcomers to Apple’s platforms.
• Enforce code style – Do you want to enforce the usage of dot syntax whenever possible? Or just use it for properties declared with @property? What about NSNumber literals, boxed expressions, container literals, and object subscripting? Faux Pas comes with 12 different rules that
