Я добавил .png изображения в проект Xcode для условного использования, например создание скриншотов вида
Однако, поскольку это не требуется для версии версии приложения, я бы хотел, чтобы нашел способ исключить их, используя какие-то настройки для Target. Я ожидаю, что может быть такое решение, как использование макроса #if DEBUG
для компиляции Debug, который может работать для строк исходного кода. Но в случае файлов, включенных в проектный пакет, мне трудно найти ответы.
Как исключить файлы изображений в пакет проектов Xcode, условно для версии Release?
Ответ 1
В Xcode 3 есть вид над редактором, в котором перечислены файлы в проекте. В правой части этого представления есть флажок для каждого файла, и вы можете снять флажок, чтобы удалить файл из текущей цели.
В Xcode 4 отобразите Навигатор проекта в левой части окна и покажите File Inspector с правой стороны в области Utilities. Когда вы выберете файл, вы увидите область целевого членства со списком целей и флажков. Если вы хотите исключить файл из определенной цели, снимите флажок рядом с этой целью. Вот изображение:
Это немного отличается от исключения файлов только из некоторых сборников одной цели. Тем не менее, я считаю, что это самый простой механизм для описания ситуации. Просто дублируйте существующую цель, чтобы у вас была копия, которую вы можете использовать для создания скриншотов. Удалите лишние файлы из своей производственной цели, но оставьте их в целевом скриншоте, как описано выше.
Ответ 2
Целевые входы одинаковы для всех сборок, поэтому нет флажка, который сделает это для вас.
Все, что на самом деле происходит, это то, что файлы изображений, такие как .png или что-то еще, добавляются в фазу ресурсов экземпляра копии. Вы можете удалить их с этой фазы и вместо этого создать пользовательскую фазу сборки script, используя оболочку script.
Он по умолчанию будет распечатывать все переменные среды, заданные xcode, оттуда вы сможете написать script, который выполняет только копию, когда ${BUILD_STYLE} является "Debug".
Вероятно, вы хотите ${BUILD_STYLE}, ${CONTENTS_FOLDER_PATH} и ${INPUT_FILE_PATH} для стартеров.