Faux Pas 1.6.2 – Inspect Xcode projects for bugs and other issues.

Faux Pas 1.6.2

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 +initializein 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 help you enforce stylistic constraints.
  • Get a checklist for code audits – Are you auditing or taking over an existing codebase? Faux Pas will give you a nice overview of potential issues you might want to pay attention to.
  • Choose from 93 different rules – Faux Pas comes with 93 rules, categorized using tags like Resources, Style, or Config. You can choose which rules you want to apply, and configure them to match your preferences.
  • Use GUI or CLI – Faux Pas has both a graphical user interface and a command-line interface.
  • Run during Xcode builds – Invoke Faux Pas in a Run Script build phase in Xcode, and see the emitted diagnostics in Xcode’s Issue Navigator (as well as inline with the code, just like regular compiler errors).
  • Connect to external tools – Faux Pas can output diagnostics in JSON or Property List formats. Process them in any way you want with custom scripts. You can also run Faux Pas on continuous integration servers.
  • Configure – Select rules by tags, and exclude individual rules. Set general and rule-specific options. Save into JSON configuration files.
  • Open links in your favorite editor Faux Pas can open files in several popular code editors, as well as API documentation in either Xcode or Dash.

What’s New

Version 1.6.2:

  • Support for opening documentation links in Dash 3
  • We now use a version of the Clang compiler that matches the one that ships with Xcode 7.2
  • False positives for the "Project reference to file ignored in the VCS" rule for references to frameworks in the Carthage build folder
  • Faux Pas sometimes hanging in the "Determining build settings" phase when opening a project, when Xcode 7.3 is installed
  • Failure to apply the "Ignored key prefixes" option for the "Missing translation" rule for diagnostics about empty values for translation keys
  • False positives for the "Hardcoded self class reference" rule in cases where a message is sent to a class whose name matches the name of the checked routine's parent category
  • False positives for the "Use of API not available in the minimum deployment target" rule in some cases where an API had availability annotations for multiple platforms


OS X 10.9 or later, 64-bit processor


  Download Now


You may also like...

Leave a Reply