2011-03-24 11 views

Respuesta

16

La salida de la acción previa aparece al menos en system.log y está visible en Console.app.

+0

+1. He estado mirando el Log Navigator, pero no he podido ver mi eco. Luego revisé Console.app y ahora los veo listados allí. Entonces Console.app funciona. – neoneye

+5

xcode 5.1 - No veo mis ecos allí. ¿Cambió o mi script de acción previa no se está ejecutando? – OrangeDog

+2

¿Qué significa "Console.app comprobado"? Parece que no puedo encontrar mi salida de script de acción previa del esquema – hunteros

25

Encontrará (y puede ver durante la compilación) la salida de construcción completa en el Navegador de registros. Ese es el icono más correcto de los iconos pequeños justo debajo de los botones Ejecutar y Generar.

+3

Gracias por darme esta sugerencia, el único problema es que no veo nada según los planes de la pre-acción o post-acción para construir. Incluí y 'echo' en el script de shell y no lo veo. – sorin

+0

Gracias por publicar esto. Estaba tratando de encontrar los resultados de compilación artículo por artículo a xcode 3 y esto es lo más parecido posible. – TahoeWolverine

+0

La salida de Log Navigator no incluye los resultados de las acciones previas del Esquema "Ejecutar script". Como señala Jonah, se puede ver en Console.app – daver

4

Según mi respuesta aquí (Is it normal for Xcode not to detect if a pre-action failed?) este es un problema que se ha debatido en los foros de desarrollo. El estado distinto de cero del script pre/post-acción no parece tener un efecto, y el resultado no parece convertirse en ningún registro.

+0

No pude encontrar ninguna discusión sobre esto en el devforum, pero agregué una nueva huella https://devforums.apple.com/message/427106#427106 – sorin

+0

los foros se movieron, y no vi ninguna discusión de este tema en el nuevo foro. https://forums.developer.apple.com/search.jspa?q=xcode+log – AnneTheAgile

2

Entonces me di cuenta de una manera de ambos:

  1. Mostrar salida de pre-construcción de guiones
  2. Detener la escritura de la estructura en el caso de un error de generación

El concepto básico es para enviar todos los resultados del evento de compilación a varios archivos, y luego presentar ese resultado como parte de un script de compilación de destino (que muestra su salida y se puede salir o cancelar).

Hacks Advertencia estar cerca de


instalación de una escritura de la estructura que se encarga de bombear automagicamente la salida a 2 archivos diferentes ... 1 para los registros regulares, y uno para stderr. O utilizar mine (he publicado en mi blog porque parece pila de detección de código de desbordamiento chupa en scripts de shell.)

entonces usted debe llamar a ese guión en la fase prebuild esquema de este modo:

"${PATH_TO_LOG_SCRIPT}/log_prebuild.sh" "${PATH_TO_PREBUILD_SCRIPT_TO_EXECUTE}/scriptToExecute.sh" 2> "${SOURCE_ROOT}/build/prebuild_error.log" 

Luego hay para configurar una secuencia de comandos antes de la fase de compilación en las fases de compilación de destino que verifica la presencia de esos archivos, los descarga a los registros e interrumpe la compilación si hubo una falla. O bien, podría volver a utilizar mine

luego construir y cruzar los dedos :)

3

EDIT: como se señala en el comentario anterior esta respuesta sólo funciona para las escrituras fase de construcción, no pre guiones de acción de acción y post.


En Xcode 8 necesita seleccionar su última compilación en "Navigator -> Report Navigator". En el área principal, podrás ver el registro de compilación completo, incluido tu resultado.

Navigator selection

Aquí es un simple "Hola mundo" eco

Log

+4

Esto solo se aplica a las secuencias de comandos agregadas a las fases de compilación, la pregunta específicamente solicita secuencias de comandos de acción previa y posterior donde no funciona. – Pranshu

Cuestiones relacionadas