2010-11-24 17 views
12

Estoy escribiendo una aplicación que funciona perfectamente en el simulador de iPhone 4.0/4.1, pero no en el 4.2.Se bloquea la aplicación con el simulador de iPhone 4.2 'set start-with-shell off'

estoy recibiendo tal advertencia:

detecta un intento de llamar a un símbolo en las bibliotecas del sistema que no está presente en el iPhone: fcntl $ UNIX2003 llamado desde get_socket_nonblocking función en la imagen TestApp. Si se encuentra con este problema ejecutando un simulador binario dentro de gdb, primero asegúrese de 'set start-with-shell off'.

Cómo establecer 'set start-with-shell off' en Xcode? Intenté agregar esta línea a .gdbinit pero sin suerte.

Con 4.0/4.1 SDK iPhone Simulator imprime advertencias sobre el intento de invocar el símbolo que no está presente en el iPhone en la ventana de depuración, pero la aplicación no se bloquea. Usando el uso de 4.2 bloqueos de aplicaciones. Cómo prevenir 4.2 bloqueos?

Gracias

+0

¿Ha intentado crear y ejecutar en un dispositivo real? –

+0

Funciona en el dispositivo – kesrut

+0

Estoy experimentando el mismo mensaje de error. ¿Has presentado un informe de error? Si es así, ¿cuál es el número de referencia? – Linda

Respuesta

1

un informe de fallo a través de http://bugreporter.apple.com/

El depurador dentro de Xcode leerá ~/.gdbinit al igual que el BGF en la línea de comandos. Intenta agregar esa línea a ~/.gdbinit.

1

Tampoco tuve éxito agregando la línea a ~/.gdbinit. A riesgo de afirmar lo obvio: si configuras la versión del simulador en 4.1 dentro de XCode, evitarás el problema. Esto es lo que hago ahora, lo cual está bien siempre y cuando no necesite probar una API disponible solo en 4.2, y no lo hacemos (todavía nos dirigimos a iOS 3.0).

0

me encontré con un error similar:

Detected an attempt to call a symbol in system libraries that is not present on the iPhone: pthread_rwlock_init$UNIX2003 called from function ...

yo era capaz de solucionar desactivando la 'Franja vinculados producto' de implementación de la estructura Ajuste del proyecto, es decir STRIP_INSTALLED_PRODUCT = NO

Don No olvides hacer una limpieza completa antes de reconstruir.

Set Strip linked Product Off

es probable que sólo quieren hacer esto por el simulador. Llenar un informe de error sigue siendo una buena idea.

+0

En realidad, esta opción ya está desmarcada .. – kesrut

+0

Bien. Alguien más informó esto también ... ¿funciona si lo revisas? – Corin

0

Si está utilizando librerías nativas, debe recompilarlas usando iOS4 (solo las versiones i386, ya que funciona en el dispositivo).

2

antes de este cleanall construir entonces

en Xcode Ir al proyecto> set ejecutable activa> nombreaplic - Iphone 4.0 simulador de

simulador entonces abierta y luego ir a Herramientas> versión> 4.0.2

entonces haga doble clic en urapptarget y en la pestaña de creación cambie "ios target de despliegue = 4.0"

ahora se ejecutan en el simulador que funcionará

0

El sufijo $ 2003 está generada por el compilador en algunas circunstancias donde puede encontrar plenamente documentados en la entrada manual para compat

man compat

I luchado con esto durante algún tiempo antes de que finalmente fijándolo mediante el establecimiento de

-mmacosx-version-min=10.3

Cualquier versión anterior a 10.4 hará el trabajo.

Espero que esto ayude.

Cuestiones relacionadas