iphone xcode ios static-libraries dynamic-library

Diferencia entre biblioteca estática y dinámica en Xcode para iPhone.



ios static-libraries (3)

Apple te permite hacer bibliotecas dinámicas. En Mac OS X, estos terminan en .bundle o .dylib (no .so o .a como en Linux).

¿Qué, específicamente estás tratando de hacer? ¿Creaste un objetivo para tu dylib?

¿Cuál es la diferencia entre una biblioteca estática y una dinámica en XCode? ¿Y por qué Apple no nos permite usar bibliotecas dinámicas en nuestras aplicaciones de iOS?


Si bien puede crear bibliotecas dinámicas para Mac OS X, no puede usarlas para el desarrollo de iPhone.

Una biblioteca estática es simplemente un archivo de archivos de objetos que se inserta en un programa que se vincula con ella. El enlazador desarchivará todos los archivos, y los colocará durante el enlace junto con el resto de sus archivos de objetos.

Sin embargo, una biblioteca dinámica crea un archivo de objeto compartido, similar a un programa pero sin un punto de entrada, con el cual los programas se pueden vincular y llamar a estas bibliotecas compartidas para obtener sus símbolos, sin jalarlos.


Una biblioteca dinámica no tendría ningún sentido para una aplicación de iPhone, ya que no hay manera de instalar la biblioteca en el teléfono. Recuerdo haber leído algo de la documentación donde Apple declaró que decidieron no usar bibliotecas dinámicas, ya que no querían que los usuarios tuvieran que lidiar con las molestias de encontrar / actualizar bibliotecas. Mucho más fácil de instalar 1 paquete por aplicación.