2010-08-18 37 views
5

que tienen un conjunto de SenTestCase que están causando problemas en Xcode 3.2.4. Al intentar compilar (con un STFail muy básico (@ "");) los siguientes errores de compilación se producen:SenTestCase en Xcode 3.2 y XCBuildLogCommandInvocationSection errores

Se ha producido un error interno al manipular la salida del comando: -
[XCBuildLogCommandInvocationSectionRecorder endMarker]:
selector no reconocido enviado a la instancia

producido un error interno al manipular salida de comando: -
[XCBuildLogCommandInvocationSection setTestsPassedString:]:
selector no reconocido enviado a instancia

Incluí el SenTestkingKit.framework de '/ Developer/Library/Frameworks' y simplemente lo creé por destino mediante 'Targets> Agregar> Nuevo objetivo> Cocoa Touch> Unit Test Bundle'. ¿Algunas ideas? ¡Gracias!

Respuesta

21

Parece ser una regresión con alguna parte del código de informe que no respeta los problemas de la zona horaria. La salida se etiqueta como terminando antes de que comenzara, por lo que se confunde mucho y se atraganta.

Una solución, que encontré en algún lugar en Google, es cambiar la etapa de ejecución de ejecución del objetivo.

Cambio

"${SYSTEM_DEVELOPER_DIR}/Tools/RunUnitTests" 

a

"${SYSTEM_DEVELOPER_DIR}/Tools/RunUnitTests" 1> /tmp/RunUnitTests.out 

Está funcionando alrededor de la cuestión, en lugar de resolverlo, pero funciona.

+0

Hola Andy. ¡Gracias por la pista! ¿Seguirá informando de errores si redirige STOUT? –

+0

Por lo que puedo decir, sí.Simplemente no hace la buena anidación de las pruebas mientras se ejecutan, y las vuelca todo en la ventana de compilación. – creednmd

+0

Me salvó el día, gracias @Andy W! –

4

Tuve el mismo problema al desarrollar una aplicación de iPad. Intente cambiar el SDK base de su objetivo de prueba desde el Dispositivo iPhone 3.2 a Dispositivo iPhone 4.0.

+0

¡Gracias por la sugerencia! Me estaba ejecutando en 4.1 y el cambio a 4.0 solucionó el problema. ¡Lo aprecio! –

+1

Cambiando el Base SDK me arregló el problema, usando XCode 3.2.3/SDK 4.0. Cambié el objetivo por separado para las pruebas para obtener pruebas para compilar, o cambié el objetivo principal de la aplicación (que depende de las pruebas) para que la compile. Tanto IiPhone Device 4.0 como iPhone Simulator 4.0 funcionaron. Alternativamente, cambiar la configuración del proyecto (user456331) funcionó para ambos. Además de configurar el SDK en 4.0, también debe establecer el destino de implementación del iPhone OS en la versión que desea que sea compatible con versiones anteriores. –

2

Tuve el mismo problema con xcode 3.2.3 y iPad. Éste me ayuda a resolverlo:

Project -> Edit Project Settings -> Build -> Base SDK = iPhone Device 4.0 
Project -> Edit Project Settings -> Build -> iPhone OS Deployment Target = iPhone OS 3.2 
-1

Parece que esto está solucionado (¡por fin!) En el SDK 4.2.

Cuestiones relacionadas