Xcode Run script Build Phase "Esegui script solo durante l'installazione" opzione


90

C'è un'opzione "Esegui script solo durante l'installazione" in Xcode Esegui script Build Phase, non sono in grado di trovare documentazione su questo. Che cosa fa?

Risposte:


139

Con Esegui script solo durante l'installazione selezionata, lo script viene eseguito solo quando si esegue l'archiviazione del prodotto.


12
Non durante la creazione / installazione su un dispositivo? (Cioè: CMD-Bcrea ed esegui su un dispositivo fisico (non sim) con il dispositivo collegato. Non conta come "durante l'installazione" per questo interruttore?)
Olie

6
L'installazione di debug su un dispositivo reale (compilata ed eseguita da Xcode) non conta come "installazione". Lo script di esecuzione viene eseguito solo durante l'archiviazione (testato con Xcode 9).
seeppp

In realtà questo è solo parzialmente corretto. Dipende dall'impostazione DEPLOYMENT_PROCESSING. Lo sto basando sull'esecuzione su Xcode 10. Sembra che quando si archivia, DEPLOYMENT_PROCESSING è impostato su YES e sovrascrive l'impostazione per la configurazione. L'ho confermato compilando e visualizzando le impostazioni nell'output poiché ho impostato "Mostra variabili di ambiente nel registro di compilazione".
Mobile Ben

17

Nella Xcode Build System Guide (Xcode 3.2.x), dice:

Esegui script solo durante l'installazione. Esegue lo script solo durante le build di installazione, ovvero quando si utilizza l'opzione di installazione di xcodebuild o quando le impostazioni di build Deployment Location (DEPLOYMENT_LOCATION) e Deployment Postprocessing (DEPLOYMENT_POSTPROCESSING) sono attive.


Quando hai bisogno / vuoi ...? Suggerirei di leggere la documentazione su DEPLOYMENT_LOCATION, DEPLOYMENT_POSTPROCESSING e TARGET_BUILD_DIR.
ericg

1
Leggilo, ma per quali situazioni le persone li usano?
Boon

15
Re: quando vorresti usarlo: Uso questo flag sugli script che incrementano il numero di build, in modo che accada solo sulle build che archivio da inviare ai beta tester (e non ogni volta che eseguo l'app)
Wayne

1
O durante il caricamento di file di simboli su Firebase o Crashlytics. Non è necessario caricarlo su ogni singola build di debug.
seeppp

In realtà Fabric dice che i file di simboli dovrebbero essere caricati ogni build. Esistono modi migliori per configurare il caricamento di dSYM. support.crashlytics.com/knowledgebase/articles/…
Nik Kov
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.