Solía haber un indicador de enlazador en GCC, allow_sub_type_mismatches
, que le permitiría mezclar y combinar versiones de arquitectura ARM en bibliotecas vinculadas, pero parece que se han llevado eso en versiones recientes de Xcode.
Sin embargo, esto puede ser pirateado de otra manera; hacer una copia del marco, ver su contenido, abrir el archivo real biblioteca de código dentro de la misma en un editor hexadecimal, y haga lo siguiente reemplazar todo:
CEFAEDFE 0C000000 09000000
a
CEFAEDFE 0C000000 0B000000
Lo que Lo que básicamente hace es cambiar el encabezado dentro de cada objeto de código para identificarlo como ARMv7s en lugar de un código ARMv7: los conjuntos de instrucciones son retrocompatibles (o parecen serlo, de todos modos), por lo que debería funcionar bien incluso con este truco, aunque Tengo que admitir que no lo sabremos con certeza hasta que realmente tengamos la oportunidad de probarlo en un iPhone 5.
De todos modos, una vez que haya modificado el marco, simplemente agregue ambas versiones a su proyecto y vincule con el apropiado de cada arquitectura. También es posible que pueda crear un nuevo marco único utilizando lipo
para fusionar las bibliotecas modificadas y originales.
** Stack Overflow no cierra ni elimina preguntas debido a NDA entre terceros **. Los moderadores no están aquí para hacer cumplir los acuerdos entre dos terceros independientes. Independientemente de si es o no NDA, si es una pregunta práctica y respondible y cumple con las pautas de calidad de Overflow de pila, entonces la pregunta permanece abierta y no recuperada. – casperOne
Hola Matt. Solo quería darle una actualización rápida de que Flurry lanzó 4.0.3 con soporte para armv7s el viernes, 14 de septiembre. Hubo un lanzamiento de seguimiento 4.0.4 ayer, 17 de septiembre, para eliminar algunas advertencias del compilador. –
Gracias, lo recibí minutos después de su lanzamiento. – coneybeare