Errores de compilation de Xcode iOS6: sin architecture

Así que recientemente actualicé Xcode a 4.5 y pude get mi teléfono iOS6. Estaba probando bien los simuladores (4.3 / 5.1 / 6.0), pero cuando decidí build el teléfono iOS 6 real, me dio este error.

No architectures to compile for (ONLY_ACTIVE_ARCH=YES, active arch=armv7s, VALID_ARCHS=armv6 armv7 i386). 

Hice algunas búsquedas y las arreglé yendo a la configuration de compilation para cambiar las architectures válidas para include armv7s e hizo lo que se suponía que debía hacer.

SIN EMBARGO agregando que obtuve este error

 ld: file is universal (3 slices) but does not contain a(n) armv7s slice: some static library framework for architecture armv7s 

Después de mirar un poco, me parece que el marco de la biblioteca estática está causando todos los problemas, ya que no es compatible con iOS 6 y no soy demasiado optimista para que se pueda solucionar fácilmente. Sin embargo, dado que no pude multar mi situación exacta en la networking, espero que haya alguien que lo sepa mejor que yo y pueda ayudarme. Gracias

Nota: esa biblioteca estática está en todas partes en el código, eliminarlo no es una opción

Xcode 4.5 ya no es compatible con armv6, por lo que necesita eliminar esta architecture.

Como ya descubrió, la biblioteca que usa no parece ser compatible con armv7, que ahora es esencial.

Creo que no hay alternativa para comstackr la biblioteca con el objective correcto. Si tiene el código fuente, esto debería ser trivial; Si es un tercero, depende de ellos para actualizar. Sabrán, sin embargo, que sin actualizar su biblioteca ha llegado al final de su vida.

Puede intentar cambiar "Crear architecture activa solamente" SÍ -> NO. Funciona bien para mi

Para build, todas las bibliotecas estáticas a las que se une una aplicación deben generar código para todas las architectures de la aplicación.

Parece que Xcode 4.5 ha actualizado su proyecto para build el código armv7s, pero se olvidó de agregar armv7s a las architectures activas de la aplicación.

Una vez que reparó eso, parece que el problema es que la biblioteca estática no está produciendo el código armv7s, pero su aplicación está tratando de crear armv7s.

Si ese es el problema, hay dos maneras de solucionar esto. O desea que su aplicación solo genere el código armv7 (eliminando la necesidad del código armv7s), para lo cual necesitará cambiar la configuration de destino de su aplicación para:

introduzca la descripción de la imagen aquí

… o desea que su aplicación y todas las bibliotecas estáticas vinculadas tengan configuraciones de compilation que se vean así:

introduzca la descripción de la imagen aquí

El código armv7 se ejecutará en cualquier cosa desde los 3gs hacia arriba. El código armv7s se ejecutará solo en el iPhone 5 y será un poco más rápido.

Entonces, si tiene acceso a un iPhone 5 para probar y tiene el código fuente de la biblioteca estática, entonces la segunda opción es probablemente la mejor. De lo contrario, suponiendo que su biblioteca genere al less el código armv7, entonces, mientras su aplicación no intente crear armv7s, también debería estar bien.

Si la biblioteca solo está desarrollando el código armv6, que no es compatible con xCode 4.5, tendrá que cambiar su configuration de compilation para producir al less el código armv7.

Tengo un problema similar Lo solucioné cambiando 'Construir architecture activa solamente' a 'NO' en Construir configuration de Proyecto objective.

introduzca la descripción de la imagen aquí

Elimina armv7s y agrega armv7 (y / o armv6)