Сценарий:
У меня есть TargetA
, который является приложением iOS. Это приложение использует статическую библиотеку, скомпилированную с помощью TargetB
.
Очевидно, что TargetB
является зависимостью TargetA
, а TargetB
всегда строится до TargetA
. Пока все хорошо.
Теперь я хочу, чтобы script запускал TargetA
, но еще до TargetB
.
То, что я пробовал:
- Добавление цели агрегата/внешней сборки "setup" и создания зависимости от
TargetA
. Он работает наполовину: Xcode запускаетsetup
иTargetB
одновременно, поэтомуTargetB
может быть создан слишком рано. Не достаточно. - То же самое, но указывая в схеме не строить параллельно. Это работает, но это отходы, так как есть другие цели, которые может быть построены параллельно.
- Запустите script на этапе сборки
pre-action
внутри схемы. Это работает, но кажется неправильным (почему? Вывод с этого шага не входит в журнал построения, поэтому, возможно, я не намерен использовать его таким образом?).
Что я не хочу делать:
Добавьте script как зависимость от TargetB
. Это сработает; однако TargetB
фактически исходит из другого подпроекта, и в контексте его построения параметры для script пока не известны (в основном корневой каталог проекта TargetA
).
Я что-то пропустил, или мне нужно согласиться на # 2 или # 3 выше?
EDIT: в опции № 2 выше, изменение порядка зависимостей (в моем случае между setup
и TargetB
не помогает - Xcode по-прежнему выбирает порядок произвольно.