¿Cómo se crea una biblioteca estática en XCode?

Si está buscando crear bibliotecas estáticas para usar dentro de su (s) proyecto (s):

Agregue un nuevo objetivo al proyecto: hay una opción de biblioteca estática debajo de los objetivos BSD (por ejemplo, un OS X estático), y otra opción en Cocoa Touch.

A partir de ahí, debe hacer que la biblioteca sea una dependencia para los otros objetivos que dependen de ella. La forma más fácil es hacer clic derecho en los objetivos que desea depender de él -> “Obtener información”. En la pestaña “General”, agregue el destino de la biblioteca estática como dependencia directa y agregue su artefacto a la sección de bibliotecas vinculadas.

Si desea usar la biblioteca en todos los proyectos, puede usar referencias de proyectos. Arrastre el proyecto que contiene su biblioteca estática al proyecto que desea que dependa de él. Luego podrá hacer referencia a los objetivos del proyecto de biblioteca estática y construir artefactos y configurarlos como en el párrafo anterior.

Si desea editar su biblioteca junto con su aplicación, puede hacer lo siguiente.
Cree la biblioteca como un proyecto XCode.
Crea tu aplicación como un proyecto XCode.
Cree un espacio de trabajo de XCode y arrastre ambos proyectos.
En las fases de compilación de la aplicación, incluya la biblioteca.

Hay un par de configuraciones para asegurarse de que la vinculación funcione correctamente.
Pero esta es una excelente manera de trabajar.

hombre 1 gcc
“En los sistemas que admiten la vinculación dinámica, esto evita la vinculación con
Las bibliotecas compartidas. En otros sistemas, esta opción no tiene efecto.

Esta opción no funcionará en Mac OS X a menos que todas las bibliotecas
(incluido libgcc.a) también se ha compilado con -static. Ya que
ni una versión estática de libSystem.dylib ni crt0.o son
siempre que esta opción no sea útil para la mayoría de las personas.

Lo que eso significa es que realmente no puedes hacerlo en OSX (en teoría, puedes hacerlo, pero eso implicaría construir tus reemplazos para objetos / símbolos libcrt, etc.).