Opción "ejecutar script sólo al instalar" Fase de compilación de Xcode Run

89

Hay una opción de "ejecutar script solo al instalar" en la fase de compilación de Xcode Run script, no puedo encontrar documentación sobre esto. ¿Qué hace?

Bendición
fuente

Respuestas:

136

Con Ejecutar secuencia de comandos solo al instalar marcada, la secuencia de comandos solo se ejecuta cuando se archiva el producto.

vladof81
fuente
12
¿No al construir / instalar en un dispositivo? (Es decir: CMD-Bcompile y ejecute en un dispositivo físico (no SIM) con el dispositivo enchufado. ¿ Eso no cuenta como "al instalar" para este conmutador?)
Olie
6
La instalación de depuración en un dispositivo real (compilar y ejecutar desde Xcode) no cuenta como "instalación". El script de ejecución solo se ejecuta al archivar (probado con Xcode 9).
seeppp
En realidad, esto es solo parcialmente correcto. Depende de la configuración DEPLOYMENT_PROCESSING. Estoy basando esto al ejecutar esto en Xcode 10. Parece que cuando archiva, DEPLOYMENT_PROCESSING se establece en YES y anula la configuración para la configuración. Lo he confirmado compilando y viendo la configuración en la salida, ya que tengo activado "Mostrar variables de entorno en el registro de compilación".
Mobile Ben
17

En la Guía del sistema de compilación Xcode (Xcode 3.2.x), dice:

Ejecute el script solo durante la instalación. Ejecuta el script solo durante las compilaciones de instalación, es decir, cuando se usa la opción de instalación de xcodebuild o cuando la configuración de compilación Ubicación de implementación (DEPLOYMENT_LOCATION) y Postprocesamiento de implementación (DEPLOYMENT_POSTPROCESSING) están activadas.

ericg
fuente
¿Cuándo necesitas / quieres ...? Sugeriría leer la documentación sobre DEPLOYMENT_LOCATION, DEPLOYMENT_POSTPROCESSING y TARGET_BUILD_DIR.
ericg
1
Léalo, pero ¿para qué situaciones las usa la gente?
Boon
15
Re: ¿cuándo querrías usar esto? Uso esta bandera en scripts que incrementan el número de compilación, de modo que solo sucede en compilaciones que archive para enviar a los probadores beta (y no cada vez que ejecuto la aplicación)
Wayne
O al cargar archivos de símbolos en firebase o crashlytics. No es necesario cargar eso en cada compilación de depuración.
seeppp
En realidad, Fabric dice que los archivos de símbolos deben cargarse en cada compilación. Hay una mejor manera de configurar la carga de dSYM. support.crashlytics.com/knowledgebase/articles/…
Nik Kov