Al ejecutable de la aplicación le falta una arquitectura requerida armv6

81

Estoy usando xCode 4.2 e intento implementar mi aplicación. Estoy fallando en la validación con el siguiente mensaje de error:

application executable is missing a required architecture armv6

El valor de mis arquitecturas se establece en Estándar (armv7). Esta es la ÚNICA opción en la lista desplegable. SDK base: iOS 5.0 (esta es la única opción) SDK de implementación: 3.2 Construir solo arquitectura activa: NO Arquitecturas válidas: armv6 armv7 armv7f armv7k

¿Alguien sabe la solución a este problema?

azamsharp
fuente
En realidad, la pregunta duplicada tiene una solución diferente que es volver a la versión anterior de xCode. Me preguntaba si hay alguna forma de resolver este problema para la versión actual.
azamsharp
Resulta que la única solución es desinstalar xCode 4.2 e instalar xCode 4.1
azamsharp
1
Como iOS 5.0 y Xcode 4.2 son software beta, todavía están bajo NDA. Su mejor opción es discutirlos en los foros de desarrolladores de Apple: devforums.apple.com . Si encuentra un error con las herramientas, asegúrese de presentar un informe en bugreport.apple.com .
Brad Larson

Respuestas:

83

En Xcode 4.2 GM esto sigue siendo un problema, pero puede resolverlo haciendo lo siguiente.

  1. Cambie a la vista de archivos / carpetas en el proyecto xcode

  2. Seleccione su proyecto (el icono azul)

  3. Seleccione su Aplicación en Objetivos en el medio de la pantalla.

  4. Ir a la configuración de construcción

  5. Buscar arquitecturas> Distribución

  6. Expanda esta sección para que pueda ver tanto Debug como Release

  7. Cambie "Estándar (armv7) - $ (ARCH_STANDARD_32_BIT)" a "Otro ..."

  8. Reemplazar "Estándar (armv7) - $ (ARCH_STANDARD_32_BIT)" por "armv6", luego agregar un nuevo elemento "armv7"

Recuerde que es posible que deba hacer esto para todos los proyectos incluidos, también conocidos como marcos como TAPKU

ingrese la descripción de la imagen aquí

J3RM
fuente
Realmente no entiendo el paso 8 ... ¿Podría explicarme por favor?
Samuel
4
Si selecciona OTRO del menú desplegable, obtendrá un cuadro que tenía cuadrículas, puede agregar armv6 en una línea y armv7 en la siguiente línea. La captura de pantalla que agregó es incorrecta.
J3RM
Eso me salvó. Muchas gracias !
Fyasar
1
Asegúrese de que "Construir solo arquitectura activa" esté configurado en "No". De lo contrario, si está conectado al dispositivo, se compilará solo para ese dispositivo ...
user739711
46

Para Xcode 4.5, establezca el objetivo de implementación en al menos iOS 4.3 y eso lo resolverá. armv6 y las versiones anteriores de iOS están casi extintas.

SK9
fuente
2
Muchas gracias por esto, ¡ya me ha costado un dolor de cabeza de 2 horas!
RickJansen
2
sí, establecer el objetivo en iOS 4.3 también resuelve el problema en el último 4.5.1 ... gracias
Jim Jose
40

Manera fácil de hacerlo:

1) Haga clic con el botón izquierdo en el icono del proyecto ( icono azul , debajo del botón "Ejecutar").

2) Junto al icono del proyecto (a la derecha), haga clic con el botón izquierdo en el nombre del proyecto en "PROYECTO" (fondo blanco).

3) Seleccione la pestaña "Configuración de construcción" y busque el submenú "Arquitecturas" (Primera). Haga clic con el botón izquierdo en "Estándar (armv7) $ (ARCH_STANDARD_32_BIT)" y seleccione "Otro ..."

4) Haga clic en el icono "-" para eliminar el valor original ( "$ (ARCH_STANDARD_32_BIT)" ). Haga clic en el icono "+" y escriba "armv6" (sin comillas dobles). Haga clic en el icono "+" nuevamente y agregue "armv7" (también sin comillas dobles). Haga clic en "Listo" .

5) Asegúrese de que "Construir solo arquitectura activa" esté configurado en "No" (debería estar)

6) Junto al icono del proyecto (a la derecha), haga clic izquierdo en el nombre del proyecto en "OBJETIVOS" y repita los pasos 3, 4 y 5.

7) Presione cmd + I en su teclado (o Producto -> Perfil en el menú Xcode) y verifique si todo está bien.

bdurao
fuente
3
Encuentro que estas instrucciones son más claras, pero no olvide esta importante nota de @ J3RM: "Recuerde que es posible que deba hacer esto para todos los proyectos incluidos, también conocidos como frameworks como TAPKU"
benvolioT
mi configuración era tal que "Construir solo arquitectura activa" se estableció en verdadero. ¡Gracias por la solución!
Chris Brandt
En el paso 4 mencionaste que haz clic en Listo. Pero no veo ningún botón DOne. :/ ¿Me estoy perdiendo de algo?
rohan-patel
5

Mi entorno era Xcode 4.5.1. Cambiar dos cosas resolvió este problema para mí.

  1. Establecer el objetivo de implementación en al menos iOS 4.3.
  2. Mantener solo la arquitectura armv7 en la lista de Arquitecturas en la configuración de compilación y eliminar todas las demás (incluido armv6) explícitamente.
Rajaraman
fuente
Sí, yo también. Mi aplicación solo para iPad se negó a compilarse, hasta que eliminé armv7s de la lista de arquitecturas.
Mike Gledhill
4

Me tropiezo con esta pregunta cuando busco una solución a la advertencia:

warning: iPad: application executable is missing a required architecture.
At least one of the following architecture(s) must be present: armv7 (-19033)
Unable to validate your application. - (null)

Otras respuestas no resolvieron mi problema, luego me di cuenta de que había cambiado un valor de CFBundleExecutable. Cuando volví al valor anterior, todo salió bien nuevamente.

No estoy seguro de cuál es la causa directa de esa advertencia, pero al menos puedo distribuir compilaciones Ad Hoc nuevamente.

Piotr Byzia
fuente
Realmente extraño, recibí la misma advertencia y junto con algunas no relacionadas. Cambió el valor de CFBundleExecutablevolver a lo que era y todo salió bien. ¡Gracias!
Adriano Lucas
3

Todas las respuestas no ayudaron en mi caso, usando Xcode 4.2.1.

Lo que hice fue cambiar Architecturesde armv7a armv6 armv7y funcionó. Me gusta esto:

ingrese la descripción de la imagen aquí

samwize
fuente
3

Agregar armv6 fue solo un problema parcial para mí para resolver el mismo problema con Xcode 4.5. También tuve que aumentar mi objetivo de implementación de iOS 4.1 a iOS 5.0 para que funcione. Muchas horas de frustración por una solución tan sencilla. Espero eso ayude.

usuario1712742
fuente
5
Es suficiente aumentar el objetivo a 4,3.
SK9
-1

Para mí ayudó cuando configuré solo armv6bajo Arquitecturas

Darío Caric
fuente