2013-05-04 21 views
13

Die Kachel sagt im Grunde alles.Xcode 4 Zielerstellungseinstellung "Installation überspringen". Was ist es?

Ich entwickle eine Mac-App, die das normale App-Ziel hat, aber auch zwei weitere Befehlszeilentools, deren Produkte beim Erstellen in die App kopiert werden. Ich erinnere mich daran, irgendwo gesehen zu haben, dass die "Installation überspringen" in diesen Fällen wichtig war, aber ich erinnere mich an nichts von dem, was ich gelesen habe, also könnte das falsch sein.

Wie auch immer, ich wollte nur wissen, was diese Option betrifft.

+2

Ich würde argumentieren, 90% von Xcode "Build Settings" sind so schlecht benannt, dass Apples eigene Ingenieure wahrscheinlich nicht einmal wissen, was sie tun! Sie sind alle so nebulös und idiotisch formuliert ... Ich kämpfe mit ihnen sehr. Ich kann mir die völlige Verwirrung nicht vorstellen, die Nicht-Englischsprecher treffen müssen, um herauszufinden, was die meisten von ihnen bedeuten! –

+0

@alexgray Ich stimme zu ... Zugegeben, es könnte schlimmer sein, aber nicht viel mehr als es bereits ist. – Alex

+0

@alexgray In Xcode's Verteidigung wurden die meisten davon mehr oder weniger direkt von Unix und GCC übernommen. Dort hat die Beschwörungsformel/make/make install eine definierte Bedeutung, die allen bewusst ist. Das Problem ist mehr, dass die meisten Dinge, die mit Xcode entwickelt wurden, wahrscheinlich Mac-GUI-Apps sind, und daher kann vieles davon irreführend sein. – uliwitness

Antwort

8

Ich glaube, das ist nur wichtig, wenn Sie für den App Store entwickeln. Wenn Sie Ihr App-Ziel archivieren und dazu andere Ziele erstellen (Befehlszeilentools, statische Bibliotheken usw.), werden alle Produkte der Ziele in das Archiv kopiert, es sei denn, SKIP_INSTALL ist auf YES eingestellt.

Sie können dies überprüfen: Ihre Anwendung archivieren, das Archiv im Organizer finden, Option-Klick -> "Im Finder anzeigen", ins Archiv gehen (Option-Klick -> "Paketinhalt anzeigen"), und in /Products finden Sie mehrere Dateien/Ordner. App Store-Builds erlauben jedoch nur ein Produkt im Produktverzeichnis. Xcode Sie darüber warnt, wenn Sie "Bestätigen" Ihre archivierten App im Organizer:

Skip Install not set for sub targets

+0

Danke, ich habe andere Quellen gefunden, die das bestätigen, und meine eigene Erfahrung stimmt auch zu. Da ich mich für das MAS entwickle, ist das wichtig. – Alex

3

Normalerweise (SKIP_INSTALL = NO), während der Phase der Installation würde die eingebaute Ziel $ (DSTROOT) $ installiert werden (INSTALL_PATH) Wenn SKIP_INSTALL = YES festgelegt wird, wird das Ziel erstellt, aber nicht installiert.

Dies ist nützlich für statische Archive (libsomething.a), die später in andere Ziele oder Bundles eingebunden werden, die durch die Build-Phase eines anderen Ziel-Copy-Files installiert werden.