Создание целей в хуке post_install подфайла

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

system "xcodebuild -target #{target.name} -sdk iphonesimulator"

который создает текущий проект Pods, поскольку я нахожусь в каталоге Pods, в отличие от проекта pods, созданного файлом pod и переданного в хук после установки. Итак, мне интересно, встречал ли кто-нибудь способ или рубиновый драгоценный камень, который позволяет создавать цель в хуке post_install? Я пытался в течение нескольких дней и не нашел никакого обходного пути, и единственное решение, которое я могу найти, означает запуск pod install дважды, сначала для добавления сценариев и интеграции проекта, а затем для создания целей для запуска этих сценариев, что меньше, чем идеал.

post_install do | installer |
   installer.project.targets do |target|
      // adding build script to target
      target.build() <-- this is what i need, some way to build this target.
   end
end

Спасибо.


person user    schedule 20.07.2015    source источник
comment
Или альтернативой может быть реализация хука после интеграции, а не хука после установки. Я пытался сделать это с потоком, который я приостановил на определенный период времени, чтобы дать возможность интеграции завершиться, но если бы я использовал thread.join, фаза интеграции не завершилась бы до тех пор, пока поток не будет выполнен и без потока .join программа только что завершила выполнение, а поток никогда не вызывался.   -  person user    schedule 21.07.2015


Ответы (1)


Придумал способ сделать это. По сути, моя проблема заключалась в том, что мне нужно было изменить интеграцию проекта pods и запустить на нем xcodebuild. Однако в подфайле нет хука post_integration. Что я сделал, так это создал файл setup.sh, в котором было две строки

pod install
ruby myScript.sh

Затем в myScript.sh я использовал xcodeproj для добавления фаз сборки, сохранил проект, а затем запустил xcodebuild, который затем строил цели с правильными сценариями запуска.

person user    schedule 23.07.2015