Xcode Skript ausführen Erstellungsphase Option "Skript nur bei Installation ausführen"

85

In der Xcode Run script Build Phase gibt es die Option "Skript nur bei Installation ausführen". Ich kann keine Dokumentation dazu finden. Was tut es?

Segen
quelle

Antworten:

132

Mit Run - Skript nur bei der Installation überprüft, wird das Skript nur , wenn Produktarchiv tun.

vladof81
quelle
11
Nicht beim Erstellen / Installieren auf einem Gerät? (Das heißt: CMD-BErstellen und Ausführen auf einem physischen Gerät (nicht sim) mit angeschlossenem Gerät. Zählt das nicht als "bei der Installation" für diesen Switch?)
Olie
4
Die Debug-Installation auf einem realen Gerät (Build & Run von Xcode) zählt nicht als "Installation". Das Ausführungsskript wird nur bei der Archivierung ausgeführt (getestet mit Xcode 9).
Seeppp
Eigentlich ist das nur teilweise richtig. Dies hängt von der Einstellung DEPLOYMENT_PROCESSING ab. Ich stütze mich darauf, dass dies auf Xcode 10 ausgeführt wird. Es scheint, dass DEPLOYMENT_PROCESSING beim Archivieren auf YES gesetzt ist und die Einstellung für die Konfiguration überschreibt. Ich habe dies durch Erstellen und Anzeigen der Einstellungen in der Ausgabe bestätigt, da "Umgebungsvariablen im Erstellungsprotokoll anzeigen" aktiviert ist.
Mobile Ben
16

Im Xcode Build System-Handbuch (Xcode 3.2.x) heißt es:

Führen Sie das Skript nur bei der Installation aus. Führt das Skript nur während der Installation von Builds aus, dh wenn die Installationsoption von xcodebuild verwendet wird oder wenn die Buildeinstellungen Deployment Location (DEPLOYMENT_LOCATION) und Deployment Postprocessing (DEPLOYMENT_POSTPROCESSING) aktiviert sind.

ericg
quelle
Wann brauchen / wollen Sie ...? Ich würde empfehlen, die Dokumentation zu DEPLOYMENT_LOCATION, DEPLOYMENT_POSTPROCESSING und TARGET_BUILD_DIR zu lesen.
Ericic
1
Lesen Sie es, aber für welche Situationen verwenden die Leute sie?
Boon
15
Betreff: Wann möchten Sie dies verwenden? Ich verwende dieses Flag für Skripte, die die Build-Nummer erhöhen, sodass dies nur bei Builds geschieht, die ich archiviere, um sie an Betatester zu senden (und nicht jedes Mal, wenn ich die App ausführe)
Wayne
Oder beim Hochladen von Symboldateien in Firebase oder Crashlytics. Das muss nicht bei jedem einzelnen Debug-Build hochgeladen werden.
Seeppp
Tatsächlich gibt Fabric an, dass Symboldateien bei jedem Build hochgeladen werden sollen. Es gibt bessere Möglichkeiten, das Hochladen von dSYM zu konfigurieren. support.crashlytics.com/knowledgebase/articles/…
Nik Kov