2012-03-30 2 views
1

Можно ли удалить файл с использованием фазы сборки в xcode 4 на основе, если это релиз или dev?Удаление файлов с помощью этапа сборки?

Если у кого-нибудь есть пример?

Я пробовал:

 if [ "${CONFIGURATION}" = "Debug" ]; then 
     find "$TARGET_BUILD_DIR" -name '*-live.*' -print0 | xargs -0 rm 
     fi 

Печатается CopyStringsFile

"build/Debug-iphonesimulator/Blue Sky.app/PortalText-live.strings" CDL/PortalText-live.strings 
cd "/Users/internet/Desktop/iPhone Template/iPhonePortalTemplate/CDL.Labs" 
setenv PATH "/Developer/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin:/Developer/Applications/Xcode.app/Contents/Developer/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin" 
builtin-copyStrings --validate --inputencoding utf-8 --outputencoding binary --outdir "/Users/internet/Desktop/iPhone Template/iPhonePortalTemplate/CDL.Labs/build/Debug-iphonesimulator/Blue Sky.app" -- CDL/PortalText-live.strings 

Но на самом деле удалить файл из пакета.

ответ

3

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

EDIT с примерным

Хорошо, я сделал точно такой же в другом проекте. У нас был файл DefaultProperties.plist, который был включен в цель.

У нас тогда было 3 копии этого, не включенные в цель, ProdProperties.plist, TestProperties.plist, UatProperties.plist.

Мы построили среду в командной строке, используя xcodebuild, поскольку она была построена с использованием сервера автоматической сборки (Bamboo).

Перед выполнением xcodebuild, мы будем работать следующим образом:

cp -vf "./Properties/Environments/${environment}Properties.plist" ./Properties/shared/DefaultProperties.plist 
touch Properties/shared/DefaultProperties.plist 

с $ (окружающей среды), передаваемой в сценарий.

Вы можете сделать что-то подобное с фазой RunScript в Xcode.

+0

Причина, по которой у меня есть два разных файла, я звоню в веб-сервис, и есть версия dev и живая версия, поэтому у меня есть то, что я называю файлом backoffice-dev/live.xml, который обрабатывает все URL-адреса и другие требования к конфигурации для разных версий, у меня есть мой код, выберите нужный файл в appdelegate.m, но нет смысла иметь дополнительный файл там, поэтому вы хотите удалить его на этапе сборки, это не так важно, Тогда сделай так. Я просто подумал, что спрошу. – Popeye

Смежные вопросы