2012-01-04 5 views
4

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

Теперь мне нужно на самом деле автоматизировать архивирование, поэтому я редактировал Схему построить в после построения действия, чтобы включить действие Run Script, который включал следующее:

cd $BUILT_PRODUCTS_DIR 
rm -f Kachunk.zip 
zip Kachunk Kachunk.app readme.txt chunk.sh dechunk.sh 

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

Есть ли что-то, что я делаю неправильно? Есть ли обходной путь?

ответ

4

Ничего, я понял. Проблема заключалась в том, что файлы .app - это действительно пакеты, которые в основном являются каталогами. Таким образом, он копировал папку, но не ее содержимое. Это легко исправить, добавив опцию -r по команде зип:

cd $BUILT_PRODUCTS_DIR 
rm -f Kachunk.zip 
zip -r Kachunk Kachunk.app readme.txt chunk.sh dechunk.sh 

А потом это работает! Кажется, что это проблема при копировании/zipping .app "files" вообще.