Después de migrar mi marco a Xcode 10 beta (10L176w) comencé a recibir advertencias como:
Mapeo de la arquitectura arm64 a x86_64. Asegúrese de que las configuraciones de compilación de arquitecturas válidas y arquitecturas de este destino estén configuradas correctamente para la plataforma del simulador de iOS.
... y:
Mapeo de la arquitectura armv7 a i386. Asegúrese de que las configuraciones de compilación de arquitecturas válidas y arquitecturas de este destino estén configuradas correctamente para la plataforma del simulador de iOS.
A pesar de estas advertencias, la compilación y las pruebas unitarias pasan bien. Estoy usando Swift 4.2.
Aún así, ¿de qué tratan estas advertencias?
ARCHS = $(ARCHS_STANDARD_64_BIT)
yVALID_ARCHS = $(inherited) x86_64 i386
Respuestas:
Vaya a Configuración de compilación y haga lo que se muestra a continuación
fuente
There are no valid architectures to compile for because the VALID_ARCHS build setting is an empty list
Pude silenciar estas advertencias cambiando mi configuración de Arquitecturas válidas para
$(ARCHS_STANDARD)
que coincida también con la configuración de Arquitecturas .Curiosamente, esto se muestra como
armv7 arm64
(en comparación con la configuración predeterminada dearmv7 armv7s arm64
), pero establecerlo en ese valor manualmente aún causaba las advertencias. No estoy seguro de cuál es el significado de eso, pero aún no he notado ningún problema en mis pruebas.fuente
Es probable que haya anulado la configuración de compilación VALID_ARCHS ("Arquitecturas válidas"), ya sea para el objetivo o para su proyecto. Esta es una configuración de compilación que debería obtener su valor automáticamente en función del destino de ejecución para el que está compilando. Cuando averigüe de dónde proviene esta anulación (la configuración de compilación se mostrará en negrita cuando se anule), selecciónela y presione la tecla Eliminar para restaurarla al valor predeterminado.
fuente
VALID_ARCHS
. Contienearm64
para depurar y publicar.VALID_ARCHS
para configurarlos por defecto y luego limpiar y cerrar / abrir Xcode nuevamente para que funcione completamente para míPara el TARGET que informa advertencias, cambie la configuración de "Arquitectura válida" a:
$(VALID_ARCHS) x86_64
fuente
Al igual que en otras respuestas, pude eliminar la advertencia cambiando
$(VALID_ARCHS)
(Arquitecturas válidas) a$(ARCHS_STANDARD)
. A partir de ahí, borré todos los datos derivados y reinicié Xcode 10.0. Esto hizo que la advertencia desapareciera por completo. Eliminar todo de Valid Architectures acaba de hacer que aparezca una advertencia diferente ("No se encontraron arquitecturas válidas").fuente
La solución es más simple: en Valid Architectures simplemente reemplace arm64 con x86_64 .
Tuve un problema similar y las siguientes tres advertencias en mi proyecto:
Mis Archtectures Válidas fueron originalmente
Reemplazo:
(como se menciona en las Advertencias) fue mi solución. El resultado en la configuración de Arquitectura válida fue:
Después de los reemplazos, mis tres advertencias anteriores desaparecieron.
Puede encontrar información más detallada sobre las arquitecturas aquí: https://docs.elementscompiler.com/Platforms/Cocoa/CpuArchitectures/
Creo que la formulación de esta advertencia en Xcode es un poco confusa.
fuente
Si tiene problemas en Flutter:
Elimina Podfile, Podfile.lock, carpeta Pods, Runner.xcworkspace, Flutter.framework.
Corre
flutter clean
.flutter build ios
.fuente
Estaba viendo esta advertencia cuando traté de compilar código para iOS y Mac OS. Pude evitarlo haciendo primero lo que Hassan Taleb sugirió en su respuesta: limpiar las arquitecturas para que solo las arquitecturas de iPhone válidas estén allí. Y finalmente, para seguir siendo capaz de compilar para Mac OS, mueva el mouse sobre las Arquitecturas válidas para que aparezca un botón más. Haga clic en eso y luego puede agregar configuraciones separadas para diferentes plataformas según sea necesario, incluidas diferentes arquitecturas de CPU. Para macOS SDK, puedo configurar mis arquitecturas válidas en x86_64 si quiero.
fuente
Encontré que la forma más fácil de resolver esto era abrir el proyecto en mi editor de texto, luego buscar y eliminar todas las
VALID_ARCHS
líneas.fuente
También me enfrento al mismo problema. Para su resolución, acabo de cambiar el sistema de compilación de Estándar a Legacy y eso resolvió el problema.
fuente
He visto la misma advertencia mientras construía mi marco. Después de un tiempo, noté que estos valores de arquitectura válidos varían según el tipo de dispositivos, independientemente de los valores en la configuración de construcción.
Real devices-> arm64 Simulator devices ->x86-64
fuente
si su [configuración de compilación] es armv7 armv7s arm64, elimine armv7s. la advertencia será cancelada.
fuente