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.

  • Is it possible to debug “Terminated due to memory error”?
  • get responseObject on failure block AFNetworking 3.0
  • True Random Xcode
  • Load Screen - iPhone App
  • Font With Strike through it
  • Steps to upload an iPhone application to the AppStore in xcode4
  • 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?

    3 Solutions Collect From Internet About “Xcode – exclude files in a custom configuration – better way?”

    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).

    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.

    If you would like to add a file but do not wont to compile it. Go to (for all your targets) project>build phases>compile source and take out the file that you do not want to compile.