wie man xcode veranlasst, ein Skript vor Abhängigkeiten auszuführen?

Szenario:

ich habeTargetA, das ist eine iOS-Anwendung. Diese App verwendet eine statische Bibliothek, die von erstellt wurdeTargetB. Offensichtlich,TargetB ist eine Abhängigkeit vonTargetA, undTargetB wird immer vorher gebautTargetA. So weit, ist es gut.

Jetzt möchte ich ein Skript ausführenTargetA gebaut ist, aberschon vorherTargetB.

Was ich versucht habe:Hinzufügen eines Aggregat- / External-Build-Ziels "setup", von dem es abhängig gemacht wirdTargetA. Es funktioniert zur Hälfte: Xcode läuftsetup undTargetB zur gleichen Zeit, soTargetB kann zu früh gebaut werden. Nicht gut genug.Das gleiche, aber in dem Schema angeben, nicht parallel zu bauen. Dies funktioniert, ist aber eine Verschwendung, da es andere Ziele gibt, diekönnen parallel gebaut werden.Führen Sie das Skript in a auspre-action Schritt innerhalb des Schemas. Dies funktioniert, scheint aber falsch zu sein (warum? Die Ausgabe dieses Schritts wird nicht in das Build-Protokoll geschrieben; ich soll sie also möglicherweise nicht so verwenden?).Was ich nicht machen möchte:

Fügen Sie das Skript als Abhängigkeit von hinzuTargetB. Das würde funktionieren; jedoch,TargetB stammt tatsächlich aus einem anderen Unterprojekt, und im Kontext der Erstellung sind die Parameter für das Skript noch nicht bekannt (hauptsächlich das Stammverzeichnis vonTargetAProjekt).

Vermisse ich etwas oder muss ich mich mit # 2 oder # 3 zufrieden geben?

BEARBEITEN: in Option 2 oben, Ändern der Reihenfolge der Abhängigkeiten (in meinem Fall zwischenSetup undTargetB hilft nicht - Xcode wählt die Reihenfolge trotzdem willkürlich aus.

Antworten auf die Frage(1)

Ihre Antwort auf die Frage