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 и выньте файл, который вы не хотите компилировать.