Подтвердить что ты не робот

Схема Script по сравнению с фазой сборки Script

После создания сборки я хочу скопировать некоторые файлы в проект Xcode.

Я обнаружил, что могу сделать это либо в

  • В разделе "Сборка фаз" с помощью пользовательского шага сборки.

  • Я также могу выполнять сценарии до и после различных "задач" в редакторе схемы:

    • Build (Здесь я могу добавить свой script)
    • Run
    • Тест
    • Профиль
    • Анализ
    • Архив

Я не совсем понимаю различия/возможные последствия между двумя подходами, и мне интересно, когда выбирать любой из этих подходов. Спасибо за разъяснение.

4b9b3361

Ответ 1

После создания сборки я хочу скопировать некоторые файлы в проект Xcode.

Я предполагаю, что вы хотите скопировать файлы в ваш продукт сборки, а не проект Xcode.

Существует несколько тонких различий между сценариями схемы и сборки. Вот некоторые из них:

  • Скрипты схемы являются частью схемы, поэтому совместное использование с другими разработчиками более настраивается. Сценарии фазы сборки, с другой стороны, являются частью цели и не могут быть пропущены просто путем выбора другой схемы.
  • Скрипты схемы могут выполняться до проверки зависимостей. Поэтому вы можете использовать их для изменения исходных файлов и получения актуальных результатов. Это невозможно при построении сценариев фазы.
  • Информация, переданная в переменные среды script, немного отличается. В зависимости от того, какая информация вам нужна, вам иногда приходится выбирать правильный вид script.
  • Сценарии фазы сборки запускаются условно только в том случае, если процесс сборки завершается успешно до их места в целевом объекте.
  • Сценарии фазы сборки могут быть сконфигурированы для запуска только при изменении входных файлов.

Ответ 2

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

Я всегда использую скрипты Build Phases и никогда не использовал сценарии Scheme. Они более заметны и более управляемы.