Xcode - исключить файлы в пользовательской конфигурации - лучший способ?

Я пытаюсь найти способ облегчить перевод наших "макетных" служб данных и наших живых. В принципе, у нас будут живые серверы с реальными веб-сервисами, но по какой-то причине разработчик может захотеть загрузить данные из статических файлов (URL-адреса файлов).

Я решил, что разрешу эту проблему, создав категории, которые переопределяют методы, которые извлекают данные, оставляя исходный код нетронутым (он не имеет понятия о "макетных" данных). Я не хочу помещать свой код #ifdef.

Я могу поместить #ifdef в самом начале каждого файла, в котором есть категории, и я могу установить пользовательский флаг в настройках конфигурации, но я бы предпочел просто включить или исключить файлы в зависимости от по конфигурации. Это возможно? Как вы решаете эту проблему?

Ответы

Ответ 1

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

Фокус в том, чтобы определить EXCLUDED_SOURCE_FILE_NAMES в конфигурации, из которой вы хотите исключить файлы, и установить значение этого настраиваемого параметра сборки в список имен файлов (или шаблон, соответствующий этим, и только те, имена файлов).

Ответ 2

Я бы рекомендовал создать две цели, одна из которых включает в себя макет категорий, а другой - нет.

Когда вы хотите протестировать, просто создайте цель, содержащую макет категорий. Все остальное может оставаться идентичным.

Ответ 3

Если вы хотите добавить файл, но не хотите его компилировать. Перейдите к (для всех ваших целей) project > build phase > compile source и выньте файл, который вы не хотите компилировать.