“Advertencia: las aplicaciones de iPhone deben incluir una architecture armv6” incluso con el conjunto de configuración de comstackción

Ha pasado un tiempo desde que tuve que ajustar la configuración de comstackción del proyecto. Después de actualizar a un SDK reciente, tengo problemas para crear mi configuración de distribución ad hoc.

Build genera esta advertencia y error:

advertencia: las aplicaciones para iPhone deben incluir una architecture armv6 (ARCHS actual = “armv7”)

iPhone / iPod Touch: al ejecutable de la aplicación le falta una architecture requerida. Al menos una de las siguientes architectures debe estar presente: armv6 (-19033)

Sin embargo, en mi proyecto, pensé que tenía las cosas correctas:

  • Architectures es: Estándar (armv6 armv7)
  • Base SDK: iOS más reciente (actualmente configurado en iOS 4.2)
  • Arquitecturas válidas: armv6 armv7

texto alternativo

He limpiado todos los objectives.

Agradezco cualquier consejo.

Si usa Xcode 4.2 o superior, intente lo siguiente:

  1. Haga clic en el nombre de su proyecto (en la columna de la izquierda), seguido del objective:

    enter image description here

  2. Haga clic en la pestaña ‘Configuraciones de comstackción’ (en la columna de la derecha):

    enter image description here

  3. Haga clic en la fila ‘Liberar’ o ‘Distribución’ en ‘Arquitecturas’, y elija ‘Otro …’:

    enter image description here

  4. Haga doble clic en la fila resaltada llamada ‘$ (ARCHS_STANDARD_32_BIT)’ en el popover que aparece y reemplácela escribiendo ‘armv6’. A continuación, agregue una nueva fila con el botón más en la parte inferior izquierda del popover, y escriba ‘armv7’, luego haga clic en Listo:

    enter image description here

Actualización: debería agregar también armv7s para apuntar al iPhone 5. (Y suelte armv6 si comstack con Xcode 4.5 o superior, que ya no es compatible con armv6).

Eso es. Ahora debería poder construir / archivar sin generar errores.

Si todavía no funciona, consulte esta respuesta de justinxreese , que sugiere agregar entradas para armv6 y armv7 en “Capacidades requeridas del dispositivo” en su archivo info.plist.

Si desmarca “Crear architecture activa solamente”, construirá todas las architectures válidas.

Actualización : Esto ya no es aplicable a partir de Xcode 4 – sigue las instrucciones de Nick para Xcode 4 y posteriores.

Tuve este problema incluso después de seguir la respuesta aceptada y encontré lo siguiente para trabajar:

En su Info.plist, agregue una entrada para las capacidades requeridas del dispositivo. Esto debería ser una matriz y tendrá dos entradas.

  • Artículo 0: armv6
  • Artículo 1: armv7

Se verá así:

Entrada de capacidades requeridas del dispositivo

Además de la respuesta de Nick sobre Xcode 4.2, también puede necesitar revisar su archivo info.plist. Parece como si los nuevos proyectos comenzaran en Xcode 4.2 por defecto, especifique ‘armv7’ en ‘Capacidades requeridas del dispositivo’. Tendrá que eliminar esto si desea admitir dispositivos que ejecuten armv6 (por ejemplo, el iPhone 3G).

enter image description here

Elimine armv7 de las ‘Capacidades requeridas del dispositivo’ en yourProjectName-Info.plist

Una actualización ios 6

Cambios en Xcode 4.5.x para iOS 6

  1. Xcode 4.5.x (y posterior) no admite la generación de binarios de armv6.
  2. Ahora incluye soporte para iPhone 5 / armv7s.
  3. El objective de despliegue mínimo admitido con Xcode 4.5.xo posterior es iOS 4.3.

También tuve este problema. Simplemente configuré mi destino de implementación en 4.3 y dejé solo la architecture de armv7 y funcionó. En el punto, casi todos tienen 5, así que 4.3 está bien.

para mí no funciona con todas las respuestas. pero pruebo TARGETS> Architectures> Debug y agrego una nueva fila con el botón más, y escribo ‘armv6’ (sin out), luego hago clic en Done.

y finalmente CMD + B y luego haga clic derecho en PrjectName.app (en la carpeta Products)> Abrir en Finder> Comprimir “PROJECT_NAME.APP” (en Debug-iphoneos)> Cargar en AppStore

enter image description here

es mi configuración de pantalla. enter image description here

si tiene incluir proyecto, configúrelo todo. Espero tu ayuda.

Después de probar una combinación de estas respuestas, finalmente tropecé con hacerlo funcionar. Estoy tan enojado con Apple en este momento. Solo una hora más, me hicieron perder. Aquí está mi configuración.

enter image description here

Intenté todas las respuestas anteriores, ninguna resolvió mi pregunta. Así que creo un nuevo proyecto y diferencio las configuraciones de construcción una a una. Solo “Archivos de permisos alternativos” es diferente. La comstackción del proyecto no tiene un valor armv7. Eliminarlo y luego limpiar-> comstackr-> archivar. ¡Tener éxito! Hope puede resolver tu pregunta

Guau, actualizo / envío aplicaciones cada 6 meses. Cada vez que hago esto, tengo que aprender la “nueva” forma de hacerlo …

Los mismos problemas que se describen arriba cuando se ejecuta iOS 5.1 y Xcode 4.3.2

Gracias por las publicaciones! Pasé un tiempo actualizando todas las configuraciones del proyecto a armv6, armv7, pero sin alegría. Cuando configuré “construir architecture activa solamente” en No, obtuve un error de comstackción sobre poner ambos objetos en el mismo directorio.

Afortunadamente, noté que ustedes estaban modificando la configuración de comstackción de destino. Esto es lo que finalmente funcionó (armv6, armv7 y establecer “construir architecture activa solamente” en No en la configuración de creación de destino). Como descargo de responsabilidad, ya había configurado todas las architectures en armv6, armv7 en la configuración del proyecto también.

De todos modos, gracias por la ayuda, Brent

Tenía que asegurarme de cambiar estas configuraciones tanto en la configuración de Target como en la de Proyecto en xCode 4.3.2 después de hacer eso y configurarlo para comstackr tanto para armv6 como para armv7 en todos los lugares donde pude enviar mi aplicación.

Para una medida segura, también salí de xCode entre hacer los cambios y hacer un ciclo de comstackción limpio y de archivo.

Un problema bastante doloroso para mí también. Acabo de pasar una hora tratando de construir y reconstruir, no hay alegría. Al final tuve que hacer esto:

  1. Actualice el SDK base a la última versión (en mi caso iOS 5)
  2. Reiniciar xCode
  3. Limpiar y construir
  4. ¡Funcionó!

Supongo que es un montón de jerga sobre arm6, arm7, ya que parecía que mi proyecto era válido para ambos, al menos los ajustes parecían decirlo así), creo que esta es una manera cínica de engañarnos con los detalles técnicos, que nos ponemos No lo entiendo, así que simplemente tomamos la opción fácil y apuntemos a los últimos iOS (bueno para Apple con más personas actualizadas) ….

Aquí está la documentación de Apple:

Q & A técnica QA1760

Dice que hay dos cosas que debes hacer bien:

  1. Agregue armv6 a la configuración de comstackción de Arquitectura
  2. Establezca Construir architecture activa solo en No

Si esto todavía no te ayuda, comprueba que realmente estás cambiando la configuración de comstackción de la architecture para la configuración de comstackción correcta. Perdí media hora jugando con la incorrecta y preguntándome por qué no funcionó …

Seleccione Edit Scheme... en el menú Producto, haga clic en el esquema “Archivar” en la lista de la izquierda y verifique la Configuración de comstackción. Cambie el valor si no fue lo que esperaba.

Nota; Tenía que realizar estos pasos tanto para mi proyecto base como para el archivo PhoneGap .xcodeproj incorporado en mi aplicación.

Sí, incrustó PhoneGap; se actualizan con mucha frecuencia, y tengo menos de dos meses para saber que una característica se ha depreciado.

Intente cambiar su destino de despliegue a algo más alto que un procesador de armv6. La configuración de xCode hace referencia al nivel del sistema operativo, por ejemplo: iOS versión # {3.1, 3.2, 4.0, 4.1, 4.2, 4.3, 5.0, 5.1}

(i) Puede configurar esto en la pestaña de configuración de comstackción o en la pestaña de resumen. Comience en la parte superior izquierda de la ventana en Project Navigator, con todos los archivos enumerados en él. Haga clic en el más alto que tiene un icono azul.

(ii) Si está planeando usar la circuitería de línea de sombreado progtwigble, a la que se accede y controla a través de la API de OpenGL ES 2.0, entonces debe configurar su “Versión de implementación” en 4.3, que creo que solo está disponible en dispositivos como el 3GS o más nuevo. xCode informa que iOS 4.2.5 o superior es necesario ejecutar código armv7. Y una vez más, este procesador, creo, comenzó con el 3GS. * IOS 4.3 parece ser la opción para mí, por ahora.

http://theiphonewiki.com/wiki/index.php?title=Armv7

http://en.wikipedia.org/wiki/List_of_iOS_devices

Si xCode sigue quejándose de armv7, asegúrese de desconectar cualquier dispositivo de conexión (especialmente iPhone 5 !!) y vuelva a intentarlo. Me tomó horas encontrar esa pequeña información.

Usando Xcode 4.2 en Snow Leopard, utilicé las siguientes configuraciones para construir una aplicación que funcionara tanto en armv6 (Iphone 3G y menor) Y en armv7 (todo más nuevo que 3G incluyendo 3GS).

architectures: armv6 y armv7 (eliminado $ (ARCHS_STANDARD_32_BIT))
construir architecture activa solamente: no
capacidades requeridas del dispositivo: armv6

no coloque armv7 en las capacidades de dispositivo requeridas si desea que la aplicación se ejecute en 3G y también más baja.