Можете ли вы создать собственные правила сборки для XCode на основе типа файла?

У меня есть проект с кучей файлов .png, которые я хочу преобразовать в сжатые текстуры PVRTC. Прямо сейчас я использую пользовательскую фазу запуска сценария XCode, которая выглядит так:

TEXTURE_TOOL=/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/texturetool

$TEXTURE_TOOL -e PVRTC --bits-per-pixel-2 -o "$SRCROOT/images/select_menu_bgs1.pvr" -f PVR "$SRCROOT/images/select_menu_bgs1.png"
$TEXTURE_TOOL -e PVRTC --bits-per-pixel-2 -o "$SRCROOT/images/select_menu_bgs2.pvr" -f PVR "$SRCROOT/images/select_menu_bgs2.png"

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

то, что я хотел бы сделать, это что-то простое с «make»: иметь правило, которое гласит: «Если в проекте есть .pvr, он создается из соответствующего .png с использованием этой командной строки».

Возможно ли что-то подобное в XCode?


person David Maymudes    schedule 01.12.2009    source источник


Ответы (1)


Дважды щелкните цель.

Выберите панель «Правила», упростите ее с помощью всплывающего окна «Правила, специфичные для цели».

Нажмите кнопку «Плюс» в нижней части окна.

Во всплывающем окне «Процесс:» выберите последнюю запись — Исходные файлы с совпадающими именами, что позволит вам ввести шаблон шаблона файла.

Для использования выберите Пользовательский сценарий и введите свой сценарий ниже.

Используйте "${INPUT_FILE_BASE}", например:

$TEXTURE_TOOL -e PVRTC --bits-per-pixel-2 -o "${INPUT_FILE_BASE}.pvr" -f PVR "${INPUT_FILE_BASE}.png"
person Andy Dent    schedule 01.12.2009
comment
Спасибо, не видел этого раньше! Я не совсем уверен, смогу ли я заставить его делать то, что хочу, так как я хочу выбрать правило, основанное на типе файла target, а не на типе исходного файла (потому что не все PNG хотят сжимать это способ), но я ценю указатель. - person David Maymudes; 01.12.2009