2009-06-17 19 views
13

Los siguientes son los pasos que me gustaría tener:Dile AppleScript para construir XCode Proyecto

  1. lanzamiento Xcode
  2. abrir un archivo xcodeproj específica
  3. acumulación y depurarlo
  4. dejar de Xcode

El siguiente es mi primer intento de escribir AppleScript:

tell application "Xcode" 
    tell project "iphone_manual_client" 
     debug 
    end tell 
    close project "iphone_manual_client" 
end tell 

Esto solo funciona cuando xcode tiene este proyecto abierto. Me gustaría que el proyecto se abra solo cuando sea necesario.

¿Puede algún gurú de AppleScript que me señale la dirección correcta? Gracias.

-chuan-

Respuesta

12

Creo que logré resolverlo. El siguiente es el AppleScript:

tell application "Xcode" 
    open "Users:chuan:Desktop:iphone_manual_client:iphone_manual_client.xcodeproj" 
    tell project "iphone_manual_client" 
      clean 
      build 
      (* for some reasons, debug will hang even the debug process has completed. 
       The try block is created to suppress the AppleEvent timeout error 
      *) 
      try 
       debug 
      end try 
    end tell 
    quit 
end tell 

La ruta debe estar en formato de ":" en lugar de "/". El único problema ahora es que después de que la consola de depuración ha hecho su trabajo, AppleScript parece "bloquearse" como si esperara que sucediera algo. Necesito hacer más investigaciones sobre AppleScript para saber qué está mal con el guión.

+0

¿sabes cómo comprobar si la depuración ya se está ejecutando? Me aparece un problema en las ejecuciones posteriores de mi script: "No se puede depurar el ejecutable ya que una sesión de depuración está en progreso" –

+0

Hola Aaron, supongo que otra opción es forzar a XCode a cerrar por completo e iniciar XCode nuevamente antes de ejecutar tu nuevo set de pruebas? Esto podría evitar el problema al que se enfrenta. – chuan

+2

Lamentablemente, muchas funcionalidades de Xcode AppleScript se rompieron con Xcode 4, incluidas las funciones de ejecución y depuración. Parece que el script anterior ya no funciona. – ThomasW

2

Hay una utilidad de línea de comandos llamada xcodebuild (hombre here página) que puede funcionar mejor para lo que quiere lograr.

+1

Hola pgb, xcodebuild solo lo construirá para mí. No me ayuda a subir la aplicación a iphone y depurarla desde allí. – chuan

4

no estoy seguro acerca de AppleScript, pero se puede compilar desde la línea de comandos, sin necesidad de abrir IDE de Xcode, así:

xcodebuild -configuration Debug -target WhatATool -project WhatATool.xcodeproj 

¿Dónde está la opción de configuración obvia, el objetivo es el nombre en la lista Destino de Xcode y el nombre del proyecto al final.

+2

Hola stefan, gracias por su respuesta. Esto construirá la aplicación. La razón por la que necesito usar xcode es el mecanismo de carga y depuración remota que tiene para iphone. No hay una herramienta de línea de comandos que pueda usar para permitirme cargar fácilmente mi nueva aplicación iPhone compilada al dispositivo real, aparte de xcode. – chuan

2

Dado que la depuración puede llevar un tiempo arbitrario, es probable que desee un bloque "con tiempo de espera de segundos"/"tiempo de espera final" alrededor del mensaje de depuración.

Cuestiones relacionadas