2011-03-10 15 views
17

Tengo una biblioteca .a de terceros, que aparentemente está compilada solo para la compatibilidad de armv6, donde los dos nuevos Xcodes (3.2.6 y 4), ambos ahora requieren un segmento de armv7 para ejecutarse en el dispositivo. El error de enlace es: el archivo es universal pero no contiene un segmento (n) armv7 para la arquitectura armv7.¿Cómo restaurar Xcode para que acepte la arquitectura armv6?

¿Alguien sabe cómo hacer que cualquiera de los dos nuevos Xcode funcionen como 3.2.5 y acepta la biblioteca existente mientras espero que el proveedor de la biblioteca prepare una versión de armv7?

+2

Si nos fijamos en los valores de creación, el ajuste Arquitecturas es probablemente estándar, que incluye tanto ARMv6 y ARMv7. Para cambiarlo a simplemente armv6, cámbielo a personalizado y escriba en armv6. – ughoavgfhw

+0

Sí - ¡eso funciona! Gracias por la respuesta. –

+0

Ponlo en una respuesta y acéptalo como fue respondido. La solución resolvió mi problema. Quiero votar :) –

Respuesta

4

En Configuración del proyecto, seleccione "Estándar" para la arquitectura (no "Optimizado"). Esto debería permitirle seleccionar "armv6" para la Arquitectura Activa. Esto significa que también debería funcionar en dispositivos más antiguos (salvo cualquier otra degradación) una vez que esté en la tienda de aplicaciones.

9

Nada funcionó para mí hasta que me puse "construir Arquitectura Sólo Activo" a No.

Cuestiones relacionadas