Как исключить файлы изображений в комплекте проекта Xcode, условно для версии Release? - PullRequest
10 голосов
/ 07 марта 2011

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

Ответы [ 2 ]

16 голосов
/ 06 апреля 2011

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

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

enter image description here

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

3 голосов
/ 07 марта 2011

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

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

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

Возможно, вам нужны $ {BUILD_STYLE}, $ {CONTENTS_FOLDER_PATH} и $ {INPUT_FILE_PATH} для начинающих.

...