Faux Pas

Faux Pas Blog

April 16, 2015

Exhaustive Enum Switch Statements

Version 1.4 of Faux Pas introduced a new rule: Unnecessary default case in exhaustive switch statement (DefaultInExhaustiveSwitch). The purpose of this rule is to find code that prevents a useful compiler warning from triggering. In order to explain...

Read more
March 27, 2015

Release Process Outside the Mac App Store

As you might know, Faux Pas is sold outside of the Mac App Store (via FastSpring). This is by necessity: Apple requires sandboxing for all apps sold through their App Store, and due to its nature Faux Pas is extremely difficult (or impossible) to sandbox.

This post isn’t about releasing outside the Mac App Store in general, though — it’s about the process I use for handling releases. When you’re selling through Apple’s store, the release process is defined by how their system (iTunes Connect and Xcode) works, but the rest of us out here in the wilderness must learn how to fend for ourselves.

Read more
March 12, 2015

Resource File Reference Errors in Xcode Projects

In iOS and Mac apps, resource files (e.g. images) are included into the app bundle and loaded in code by using strings referencing their filenames:

[NSData dataWithContentsOfFile:
 [[NSBundle mainBundle] pathForResource:@"Foo" ofType:@"bar"]];

In most cases, developers quickly notice when their filename references are incorrect. However, there are some conditions that might prevent this discovery even during initial development, as well as some situations where these references might become incorrect long after initial development.

Let’s look at some examples.

Read more
September 2, 2014

Faux Pas Now in Homebrew Cask

Faux Pas is now available via Homebrew Cask.

brew cask install fauxpas

That is all. Carry on.

Read more
August 28, 2014

Continuous Integration

Some people have been asking for ways to run Faux Pas on their continuous integration (CI) servers. Here are some instructions on how to set this up.

Read more
July 21, 2014

Introducing Faux Pas

Faux Pas icon

Today I have released the Faux Pas public beta.

Read more
July 21, 2014

Avoiding Brent’s Coding Nits

Brent Simmons wrote about some issues he found in an unnamed open-source Cocoa project. He lists 12 things, and while reading them I realized that you can use the Clang compiler and Faux Pas to avoid most of them:

Read more