Хит построить, и ничего не печатается в журнале сборки Что дает?
Версия Xcode 8.2.1 (8C1002)
Перед сборкой выполняется предварительное действие, поэтому вывод не идет в журнал сборки, он переходит в stdErr. Вы можете скопировать вывод в файл:
exec > ${PROJECT_DIR}/prebuild.log 2>&1
echo "hello world"
Чтобы заставить переменные среды работать, вам также необходимо установить "Предоставить параметры сборки от" до соответствующей цели.
Это должно написать hello world
в файл с именем "prebuild.log" в папке проекта.
Если вы хотите, чтобы эти действия попали в журнал построения, рассмотрите возможность добавления запуска script к фазе вашей целевой сборки.
Чтобы добавить к ответу fooobar.com/questions/844962/..., важно как можно больше не загромождать project.pbxproj (куда идут сценарии сборки) или файл схемы (куда идут эти сценарии).
Имея это в виду, я создаю папку Build-Scripts в корневом каталоге проекта, куда я помещаю сценарии сборки приложения и сценарии перед действием. Эта папка перетаскивается в корень проекта как папка, поэтому любой сценарий, который я добавляю в него, автоматически добавляется в проект.
Предполагая, что ваш сценарий предварительного действия называется That_pre-action_script.sh
, это то, что я поместил в сценарий предварительного действия на основе утвержденного ответа.
say "Pre build scripts running."
exec > "${PROJECT_DIR}/prebuild.log" 2>&1
echo "Starting build scheme Pre-actions"
"${PROJECT_DIR}/Build-Phases/That_pre-action_script.sh"
В качестве теста убедитесь, что вы получили какое-то сообщение из вашего скрипта, чтобы вы могли увидеть его в файле prebuild.log
.
Надеюсь это поможет.
И не забудьте chmod u + x ваш скрипт, чтобы он запустился.
Важной частью является то, что вы не можете убедиться, работает ваш скрипт сборки или нет. Здесь нам полезна команда say
, чтобы вы знали, что она на самом деле выдается перед сборкой.
Хорошей идеей будет заключать в кавычки путь к сценарию, если на пути к вашему проекту есть пробелы (или нет).
Вы должны добавить оболочку script в проект Xcode, например, добавить объективный файл C, или оболочку script не может быть найден Xcode.