Cocoanetics/DTCoreText — Issue #131: `#define ALLOW_IPHONE_SPECIAL_CASES` should not be declared in Prefix.pch
Author: joepasq
Created: 2012-02-22 19:39:07+00:00
State: open

In the installation guide `#define ALLOW_IPHONE_SPECIAL_CASES 1` is recommended as a flag in your prefix.pch file.

This is not a good idea because ["Your project should be able to build without a PCH. The PCH is purely an optimization step."](http://twitter.com/#!/eridius/status/169603500953714688) and ["A corollary is you shouldn't ever (ab)use the PCH to define constants."](http://twitter.com/#!/eridius/status/169603722454896640) as tweeted by [Kevin Ballard](http://twitter.com/eridius).

As evidence for not using PCH this way Ballard cites experience. It also makes sense to encapsulate it more to DTCoreText than to another project.

Allowing iPhone special cases should be the default, correct? Then it should be on by default in DTCoreText.h which is a good place for global variables. Then depending on whether you, a developer using DTCoreText in your app, can decide if you want it on and change it there.