Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Xcode - exclude files in a custom configuration - better way?

I'm trying to come up with a way to make it easy to switch out our "mock" data services and our live ones. Basically, we'll have live servers with real web services, but for whatever reason, a developer may want to load data from static files (file urls).

I figured I would solve this problem by creating categories that override the methods that fetch the data, thus leaving original code untouched (it has no concept of the "mock" data). I don't want to litter my code with #ifdef.

I can put an #ifdef at the very beginning of each file that has categories in it, and I can set a custom flag in the configuration settings, but I'd rather just have a way to include or exclude the files depending on the configuration. Is that possible? How do you solve this problem?

like image 454
Sean Clark Hess Avatar asked Feb 16 '10 01:02

Sean Clark Hess


2 Answers

See http://lists.apple.com/archives/xcode-users/2009/Jun/msg00153.html

The trick is to define EXCLUDED_SOURCE_FILE_NAMES in the configuration you want to exclude the files from, and set the value of that custom build setting to a list of the file names (or a pattern that matches those, and only those, file names).

like image 132
cdespinosa Avatar answered Sep 22 '22 08:09

cdespinosa


I would recommend creating two targets one of which has the mock categories included and another one which does not.

When you want to test, just build the target containing the mock categories. Everything else can remain identical.

like image 40
TechZen Avatar answered Sep 23 '22 08:09

TechZen