Envío de aplicaciones iOS: falta soporte de 64 bits

Envié una aplicación ayer para su revisión, sin ningún problema. Luego 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 estoy teniendo esta advertencia:

warning_xcode

No entiendo por qué, ya que mis architectures son:

  • architectures: armv7
  • architectures válidas: armv6, armv7, armv7s, arm64

La aplicación funciona bien en el simulador. Si trato de usar las architectures estándar (armv7, arm64) como se recomienda en la advertencia, entonces la aplicación no se comstackrá y obtendré:

  • Símbolos indefinidos para la architecture x86_64
  • ld: símbolo (s) no encontrado (s) para la architecture x86_64

Estoy usando lib-route, y configuré la misma configuración de architecture.

Use ” Standard architectures ” como esta:

  • Arquitectura: “Arquitecturas estándar” arm7, arm64
  • Arquitecturas válidas: ” arm64 “, armv7 …
  • Construya architecture activa solamente – NO (especialmente … si su dispositivo conectado no es compatible con arm64)

Me gusta esto:

enter image description here

  • Además, se sabe que desconectar iphones y ipads del mac es útil, especialmente si se trata de versiones de 32 bits.

Después de confirmar las architectures correctas, asegúrese de que su dispositivo NO esté conectado a su computadora cuando ARCHIVA la comstackción final para enviarla a la App Store.

El motivo por el que aparece esta advertencia es porque el DISPOSITIVO que ha conectado probablemente no es compatible con arm64.

Como Tony escribió, es importante tener en ambas líneas esos ajustes. Dado que mi proyecto (y obviamente el suyo) se creó aún antes de agregar arm64 al estándar, no se refleja en “Arquitecturas válidas”, incluso si se muestra como Estándar.

Lo que hice:

  • Fui a la configuración del proyecto (frente al objective)
  • Mecanografié “arm64” en las architectures válidas (se refleja automáticamente en objectives y esquemas)

Después de limpiar / comstackr, incluso recibo algunas advertencias sobre la conversión incorrecta de float a CGFloat, etc., por lo que la configuración obviamente se aplica.

¡La advertencia de validación desapareció también!

enter image description here

Desconecta tu dispositivo físico de Mac. En XCode en la lista de dispositivos, elija Dispositivo iOS y vuelva a crear Archivo. Funcionó para mí

Hoy resuelvo ese problema con los siguientes pasos:

Configuración de construcción:

Arquitecturas: architectures estándar (arm7, arm64) – $ (ARCH_STANDARD)

Arquitecturas válidas: armv7 armv7s arm64

  1. Limpia y crea tu aplicación con el iPhone conectado
  2. Desconecta tu iPhone y verifica la barra superior si está en “Dispositivo iOS”
  3. Archivo
  4. Validar y enviar

Simplemente cree un nuevo proyecto usando la última versión de xCode y encuentre la configuración de comstackción. El nuevo proyecto creado con la última versión tiene soporte 64 por defecto.

enter image description here

Resolví el problema cambiando,

Arquitecturas: arm7, arm64

Arquitectura válida: arm7, arm64

Construir architecture activa solamente: sí

De acuerdo, esto fue una locura. Intenté todas las respuestas. Pero funcionó solo cuando puse arm64 antes de armv7 y armv7s en Valid Architectures.

PD: xcode version : 7.2

Cambie su objective de desarrollo de iOS a al menos 5.1.1 o, alternativamente, elimine la configuración de architectures estándar y vuelva a aplicarla. Es posible que haya visto una advertencia de que arm64 no es compatible con su objective de comstackción. En la página de información general, compruebe la configuración de “destino de despliegue” de destino y de destino. En mi caso, el objective era 6.0, pero el proyecto era 5.0.

Además, verifique “Arquitecturas válidas” tanto en su objective como en su proyecto. Tenía la configuración correcta en el proyecto pero no en el objective. Después de esto, funcionó para mí.

Cambie entre proyecto / destino en la página de resumen en la esquina superior izquierda del cuadro.

Envié el éxito por config como la imagen: enter image description here

(Archivado con dispositivo real)

Me deshice de cada advertencia. Pasé por todo una y otra vez. Encontré la respuesta de una palabra aquí arriba.

“Crear architecture activa solamente – 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ó!

Por favor marque la opción Build Active Architecture. Establézcalo en NO. Esto funciona para mi.