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?

Antworten:


132

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


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.


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
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.