El archivo es universal (tres sectores), pero no contiene un error de sector ARMv7-s para bibliotecas estáticas en iOS, ¿de todos modos se puede omitir?
Actualicé la versión de Xcode y cuando uso bibliotecas estáticas externas, aparece este mensaje:
ld: el archivo es universal (3 segmentos) pero no contiene un segmento armv7s: /archivo/ubicación para la arquitectura armv7s clang: error: el comando del vinculador falló con el código de salida 1 (use -v para ver la invocación)
¿Hay alguna forma de evitar esto y agregar soporte a la biblioteca si el desarrollador de la biblioteca aún no ha actualizado su biblioteca?
Si desea eliminar el soporte para cualquier arquitectura, por ejemplo, ARMv7-s en su caso, use el menú Proyecto -> Configuración de compilación -> eliminar la arquitectura de "arquitecturas válidas".
Puede utilizar esto como solución temporal hasta que se actualice la biblioteca. Tienes que eliminar la arquitectura de tu proyecto principal, no de la biblioteca.
Alternativamente, puede establecer el indicador para "Construir solo arquitectura activa" de su configuración de depuración en Sí. Deje "Construir solo arquitectura activa" en la configuración de lanzamiento en No, para recibir un recordatorio antes del lanzamiento de que debe actualizar las bibliotecas de terceros que esté utilizando.
Simplemente cambié "Construir solo arquitectura activa" a "Sí" en la configuración de compilación del objetivo, ¡y ya está bien!
Intente eliminar armv7s de la "Arquitectura válida" del proyecto para solucionar este problema en teléfonos con iOS 5.1.
Acabo de publicar una solución aquí que también se aplicaría en este caso; básicamente, realiza una búsqueda y reemplazo hexadecimal en su biblioteca externa para que piense que es código ARMv7s. Debería poder usarlo lipo
para dividirlo en 3 bibliotecas estáticas, duplicar/modificar el ARMv7 y luego usarlo lipo
nuevamente para ensamblar una nueva biblioteca para las 4 arquitecturas.