Lo que debe hacer es configurarlo ONLY_ACTIVE_ARCH
en NO
(al menos funciona para mí). A continuación hay una captura de pantalla para ello:
EDITAR:
Por lo que yo sé ( por favor señalarlo si hay algo mal, gracias ), si se establece ONLY_ACTIVE_ARCH
que YES
, significa que la única Xcode construirá para la arquitectura activa (que se refiere al dispositivo que está activa actualmente en Xcode). Parece que la configuración predeterminada de Xcode está establecida en Depuración YES
, por lo que no generará binarios para otras arquitecturas cuando solo desee compilar para un dispositivo especial que se conectó a su Mac.
La razón por la que no se pudo construir es que el proyecto no es compatible con la arquitectura del dispositivo que conectó. Entonces, la mejor solución es agregar la arquitectura correcta para su dispositivo. A continuación se muestra una lista de arquitecturas y dispositivos compatibles:
- ARMv8 / ARM64:
iPhone 6
, iPhone 5s
, iPad Air
,Retina iPad Mini
- ARMv7s:
iPhone 5
, iPhone 5c
,iPad 4
- ARMv7:
iPhone 3GS
, iPhone 4
, iPhone 4S
, iPod 3G/4G/5G
, iPad
, iPad 2
, iPad 3
,iPad Mini
- ARMv6:
iPhone
, iPhone 3G
,iPod 1G/2G
Así que por qué "Establecer el ONLY_ACTIVE_ARCH
a NO
" obras? Debido a que el dispositivo aún puede ejecutar el binario que se creó para todas las arquitecturas que agregó (pasar la compilación), pero perderá algo de rendimiento. Esta es solo una solución rápida, pero no la mejor.
Nota : Cuantas más arquitecturas haya agregado, mayor será el binario generado. Por lo tanto, es bueno elegir las arquitecturas adecuadas para su proyecto. ;)