Envié una aplicación ayer para su revisión, sin ningún problema. Entonces me di cuenta de que tenía una pequeña solución que hacer (cambiar el nivel de zoom máximo de un mapa de 19 a 18, nada más), así que eliminé el binario de iTunes Connect e intenté volver a enviarlo.
Ahora tengo esta advertencia:
No entiendo por qué, ya que mis arquitecturas son:
- arquitecturas: armv7
- arquitecturas válidas: armv6, armv7, armv7s, arm64
La aplicación funciona bien en el simulador. Si intento usar las arquitecturas estándar (armv7, arm64) como se recomienda en la advertencia, la aplicación no se compilará y obtengo:
- Símbolos no definidos para la arquitectura x86_64
- ld: símbolo (s) no encontrado para la arquitectura x86_64
Estoy usando lib route-me y configuro la misma configuración de arquitectura.
Respuestas:
Utilice "
Standard architectures
" así:Me gusta esto:
fuente
armv7 and arm64
en Architechtures. Aún así, se produce una advertencia de soporte faltante de 64 bits al validar la aplicación para su envío.Después de confirmar las arquitecturas correctas, asegúrese de que su dispositivo NO esté conectado a su computadora al ARCHIVAR la compilación final para enviarla a la App Store.
La razón por la que aparece esta advertencia es porque el DISPOSITIVO que ha conectado probablemente no sea compatible con arm64.
fuente
Build Active Architecture Only
aNo
. Esto obligará a xcode a compilar el binario de 64 bits independientemente del dispositivo que esté conectado.Build Active Architecture
está configurado enNo
. Establecer esquema de archivoComo escribió Tony, es importante tener en ambas líneas esos escenarios. Dado que mi proyecto (y obviamente el suyo) se creó antes de que se agregara arm64 al estándar, no se refleja en "Arquitecturas válidas" incluso si es muestra como Estándar.
Lo que hice:
Después de limpiar / construir, incluso recibo algunas advertencias sobre la conversión incorrecta de flotador a CGFloat, etc., por lo que obviamente se aplicó la configuración.
¡La advertencia de validación también desapareció!
fuente
Desenchufe su dispositivo físico de Mac. En XCode en la lista de dispositivos, elija Dispositivo iOS y vuelva a crear Archivo. Funcionó para mí.
fuente
Hoy resuelvo ese problema con los siguientes pasos:
Configuración del edificio:
Arquitecturas: arquitecturas estándar (arm7, arm64) - $ (ARCH_STANDARD)
Arquitecturas válidas: armv7 armv7s arm64
fuente
Simplemente cree un nuevo proyecto con la última versión de xCode y busque la configuración de compilación. El nuevo proyecto creado con la última versión tiene soporte 64 por defecto.
fuente
Está bien, esto fue una locura. Probé cada una de las respuestas. Pero funcionó solo cuando lo coloqué
arm64
antesarmv7
yarmv7s
en Arquitecturas válidas.PD:
xcode version : 7.2
fuente
Resolví el problema cambiando,
Arquitecturas: arm7, arm64
Arquitectura válida: arm7, arm64
Construir solo arquitectura activa: Sí
fuente
Envié el éxito por configuración como la imagen:
(Archivado con dispositivo real)
fuente
Se deshizo de todas las advertencias. Pasé por todo una y otra vez. Encontré la respuesta de una palabra aquí arriba.
"Construya solo arquitectura activa - NO (especialmente ... si su dispositivo conectado no es compatible con arm64)"
Mi iPad no es de 64 bits. ¡Ponga NO para Build Active Architecture y mi envío funcionó!
fuente
Cambie su objetivo de desarrollo de iOS a al menos 5.1.1 o, alternativamente, elimine la configuración de arquitecturas estándar y vuelva a aplicarla. Es posible que haya visto una advertencia de que arm64 no es compatible con su objetivo de compilación. En la página de descripción general, compruebe la configuración del "destino de implementación" de la compilación y del destino. En mi caso, el objetivo era 6.0, pero el proyecto era 5.0.
Además, marque "Arquitecturas válidas" tanto en su objetivo como en su proyecto. Tenía la configuración correcta en el proyecto pero no en el objetivo. Después de esto, funcionó para mí.
Cambie entre proyecto / objetivo en la página de descripción general en la esquina superior izquierda del cuadro.
fuente
Marque la opción Construir arquitectura activa. Póngalo en NO. Esto funciona para mi.
fuente