2010-06-08 14 views
29

Quiero construir una biblioteca estática para iphone. Quiero dar a mis usuarios la biblioteca .a que pueden usar tanto para la prueba del simulador como para la prueba del dispositivo. ¿Debo construir dos bibliotecas en modo simulador y en modo dispositivo? ¿Hay alguna manera de construir uno único que pueda usarse para ambas plataformas?¿Cómo construir una biblioteca para simulador y dispositivo iPhone?

Respuesta

83

Compile su biblioteca dos veces. Una vez que use el SDK del dispositivo, y nuevamente usando el simulador SDK.

Luego use la herramienta de línea de comandos lipo para crear una biblioteca "gorda".

lipo -create libdevice.a libsimulator.a -output libcombined.a 

Eso debería darle lo que necesita.

+0

Gracias por su respuesta rápida y precisa. –

+1

¿Hay algo especial que deba hacerse en la aplicación que utiliza la biblioteca? Intenté hacer esto con una biblioteca que estoy creando y obtuve errores sobre las arquitecturas que no coinciden al compilar una aplicación de muestra que usa la biblioteca. – pr1001

+0

No hay nada que tenga que hacer para diferenciar entre las arquitecturas de la biblioteca 'grasa'. Es posible que vea ese error si las bibliotecas originales no se crearon con los SDK correctos antes de usar lipo. – Jasarien

Cuestiones relacionadas