Festlegen einer Konfiguration, in XCode des Teilprojekts
-
06-07-2019 - |
Frage
Ich habe ein XCode-Projekt (A
) Referenzierung ein anderes Projekt (B
). In der Standardeinstellung (soweit ich es verstehe) XCode wird die Konfiguration für die B
Abhängigkeit implizit erstellen, die die Konfiguration des A
Ziels entspricht (zum Beispiel „Debug“). Aber was, wenn ich will, sagt sie, A
als „Debug“ und der B
bauen als „Release“ zu bauen? Wie würde ich mich über die in XCode Angabe?
Lösung
Ich weiß nicht jeden einfachen Ansatz, aber Sie können es direkt durch den Aufruf xcodebuild Brute-Force für die Abhängigkeit mit einem „Run Script“ baut Phase.
Ich weiß, es ist nur ein Beispiel, aber wenn Ihr eigentliches Ziel ist, dass das Teilprojekt eine Veröffentlichung sein (keine Symbole) baut, dann können Sie eine bessere Erfahrung haben nur durch den Bau des Teilprojektes in eine Bibliothek oder Rahmen und die Überprüfung der resultierenden binären in Ihr Versionskontrollsystem. Jedes Mal, wenn ich ein Stück des Systems, das nur selten ändert und dass ich will nicht Debug-Symbole für, ich gehe voran und bauen es als eine statische Bibliothek und prüfen Sie es in. Ich gehe voran oft und den Code auch anderswo bewegen (mit dass eine Readme-Datei mit dem .a sagt, wo der Code ist, und wie es gebaut wurde). Das spart Zeit sowohl Build und Check-out und ist von unschätzbarem Wert für große Projekte in meiner Erfahrung.
Andere Tipps
Dies könnte helfen: wenn die Konfiguration des Projekts A
nicht gefunden wird, Xcode Release
Config als Ausweich (oder vielleicht die erste Konfiguration der Liste) bauen
Dann können Sie „Kraft“ die Verbindung mit diesem Tipp: Xcode benutzerdefinierte Build-Konfiguration verursacht‘
Ja, das ist nicht natürlich von Xcode unterstützt; wenn Sie ein Ziel bauen, es baut eine Konfiguration selbst und alle abhängigen Ziele.
Die Abhilfe, als Rob erwähnt, ist ein abhängiges Ziel zu haben, die ein Aggregat Zieltyp ist, die ein einzelnes Skript ausführen bauen Phase umfasst, die einfach xcodebuild -Konfiguration Mitteilung (oder was auch immer) aufruft.