Как исключить файлы изображений в пакет проектов Xcode, условно для версии Release?

Я добавил .png изображения в проект Xcode для условного использования, например создание скриншотов вида Однако, поскольку это не требуется для версии версии приложения, я бы хотел, чтобы нашел способ исключить их, используя какие-то настройки для Target. Я ожидаю, что может быть такое решение, как использование макроса #if DEBUG для компиляции Debug, который может работать для строк исходного кода. Но в случае файлов, включенных в проектный пакет, мне трудно найти ответы.

Ответ 1

В Xcode 3 есть вид над редактором, в котором перечислены файлы в проекте. В правой части этого представления есть флажок для каждого файла, и вы можете снять флажок, чтобы удалить файл из текущей цели.

В Xcode 4 отобразите Навигатор проекта в левой части окна и покажите File Inspector с правой стороны в области Utilities. Когда вы выберете файл, вы увидите область целевого членства со списком целей и флажков. Если вы хотите исключить файл из определенной цели, снимите флажок рядом с этой целью. Вот изображение:

enter image description here

Это немного отличается от исключения файлов только из некоторых сборников одной цели. Тем не менее, я считаю, что это самый простой механизм для описания ситуации. Просто дублируйте существующую цель, чтобы у вас была копия, которую вы можете использовать для создания скриншотов. Удалите лишние файлы из своей производственной цели, но оставьте их в целевом скриншоте, как описано выше.

Ответ 2

Целевые входы одинаковы для всех сборок, поэтому нет флажка, который сделает это для вас.

Все, что на самом деле происходит, это то, что файлы изображений, такие как .png или что-то еще, добавляются в фазу ресурсов экземпляра копии. Вы можете удалить их с этой фазы и вместо этого создать пользовательскую фазу сборки script, используя оболочку script.

Он по умолчанию будет распечатывать все переменные среды, заданные xcode, оттуда вы сможете написать script, который выполняет только копию, когда ${BUILD_STYLE} является "Debug".

Вероятно, вы хотите ${BUILD_STYLE}, ${CONTENTS_FOLDER_PATH} и ${INPUT_FILE_PATH} для стартеров.