cambiar de xcode3 a xcode4 – no se pueden cargar progtwigs en el iPod Touch anterior

Posible duplicado:
La aplicación iPhone no se ejecuta en un dispositivo antiguo (3G, 3GS, …)

Tengo un problema similar a este (la aplicación iPhone no se ejecuta en un dispositivo antiguo (3G, 3GS, …) ) pero la solución en esa página no hace nada por mí. He estado desarrollando aplicaciones para iOS en XCode3 y probando en un segundo iPod Touch de segunda generación con iOS 4.2.1. Ha intentado los últimos días para usar XCode4 en su lugar.

Soy capaz de crear y ejecutar aplicaciones en XCode4 utilizando el simulador, las dos que desarrollé inicialmente bajo XCode3, así como las nuevas XCode4 creadas con el tipo "Hello World". Sin embargo, cuando bash poner uno en el hardware real, falla con pocos posts de error. La window de debugging en XCode4 no muestra nada mal. El indicador de actividad / estado en la parte superior central de XCode va de "Building [AppName]" directamente a "Finished Running [AppName]", pero la aplicación nunca se transfiere o ejecuta en el dispositivo.

Si miro la console del iPod a través del Organizador, veo un montón de errores como:

Jue 16 de junio 15:17:56 lockdownd desconocido [16] <Error>: 2ff68000 handle_connection: No se pudo recibir el post USB # 6 de Xcode. Conexión de matanza

Jue 16 de junio 15:17:56 desconocido com.apple.mobile.lockdown [16] <Aviso>: No se pudo recibir el tamaño del post

y supongo que está relacionado con eso. Intenté desenchufar todos los demás dispositivos USB de mi Mac, pero no hace ninguna diferencia. Intenté reiniciar tanto el dispositivo como la Mac, pero de nuevo no hubo ninguna diferencia.

Ajusté el objective de implementación de iOS a 4.2, así que no creo que haya ningún problema allí. El dispositivo aparece en Organizador con el punto verde y un perfil de aprovisionamiento válido sin vencimiento. En las properties de firma de código, se ve así:

Code Signing Entity Don't Code Sign Debug Don't Code Sign Any iOS SDK iPhone Developer (currently matches...[profile I have installed]) Release Don't Code Sign Any iOS SDK iPhone Developer (currently matches...[profile I have installed]) 

El dispositivo en sí está apareciendo en el menu desplegable de Esquemas como:

[DeviceName] (4.2.1 anulación del SDK base a 5.0)

¿Alguien más se encuentra con un problema similar o tiene alguna sugerencia?

Solo para promocionar el comentario de Thomas a una respuesta, esto puede deberse a la orientación de una architecture de CPU que su dispositivo no admite. El iPhone y el iPhone 3G (junto con los iPod touch de la misma generación) no son compatibles con armv7. Configura la configuration de compilation "Archiectures" para include "armv6" para asegurar que el binary gordo resultante contenga el código armv6.

Tuve el mismo problema con XCode 4.1.1 y un segundo gen Ipod Touch. Empecé con una de las templates y no pude ejecutarla en mi hardware. Encontramos todas las respuestas aquí en stackoverflow, pero es mejor tener todos los pasos necesarios en un solo lugar:

  1. Debe agregar armv6 a Architectures en la configuration de su proyecto (pestaña Configuración de compilation). Puede configurarlo en "armv6 $ (ARCHS_STANDARD_32_BIT)" o "armv6 armv7", no importa. $ (ARCHS_STANDARD_32_BIT) es solo una variable que es igual a "armv7" en el último XCode.

  2. No cambie el Base SDK, "Latest iOS (iOS5.0)" está bien. En "Resumen" cambie "Despliegue objective" a 4.0 o cualquier versión de iOS que desee tener como versión mínima.

  3. Las templates más nuevas en Xcode 4 tienen una configuration estándar en su Info.plist que debe cambiar. Busque "Capacidades necesarias del dispositivo" y elimine "armv7".

Si está haciendo los pasos 1 + 2 pero olvidó el paso 3, obtiene los errores "No se pudo recibir post USB" en el logging del dispositivo y no aparece ningún post de error en XCode. Por qué lo hace, en lugar de mostrarle un post de error que le sugiere "Capacidades de dispositivo necesarias" es una pregunta diferente.

En resumen : Apple comenzó a eliminar el soporte para la plataforma armv6 con la actualización a iOS 4.3. El hardware más nuevo se ejecuta con un set de instrucciones diferente, armv7. Si desea admitir iOS 4 con XCode 4, realmente debería asegurarse de que también construya su proyecto para armv6 correctamente con los pasos anteriores.

Parece que tienes el SDK de iOS 5.0 instalado. ¿Estoy leyendo eso? Si es así, eso se rige por Apple Developer NDA y no debe discutirse aquí. Publicaría en los foros de desarrolladores.

¿Tiene otros dispositivos que ejecutan 4.2.1 que funcionan con su installation de Xcode? ¿Tiene algún otro dispositivo que funcione con su installation de Xcode?

Tenga en count que aparentemente la configuration de la architecture distingue entre mayúsculas y minúsculas. Agregué manualmente 'Armv6' y todavía nada funcionaba. Cambiando esto a 'armv6' hizo el truco.