ios - studio - ¿Cuáles son las bibliotecas que enlazan las opciones en Xcode?
visual studio installer (1)
A partir de Xcode 7, hay algunas opciones de vinculación biblioteca / marco en Xcode
Ir al Target
aplicación en la pestaña del proyecto
General -> Embedded Binaries
General -> Link Frameworks and Libraries
Build Phases -> Target Dependencies
Build Phases -> Link Binary with Libraries
Aquí hay algunas maneras que encontré
- El uso de Alamofire muestra la opción
Embedded Binaries
El marco Alamofire se agrega automáticamente como una dependencia de destino, un marco vinculado y un marco incrustado en una fase de compilación de archivos de copia, que es todo lo que necesita para construir en el simulador y un dispositivo.
La creación de su primer iOS Framework muestra que agrega
Library.xcodeproj
en el espacio de trabajo, luegoBuild Phases -> Link Binary with Libraries
Carthage Tutorial: Getting Started muestra que se arrastra
Library.framework
aGeneral -> Link Frameworks and Libraries
. PareceGeneral -> Link Frameworks and Libraries
yBuild Phases -> Link Binary with Libraries
son las mismasCartago parece diferenciar entre iOS y OS X.
Si está compilando para OS X: en la pestaña de configuración "General" de los objetivos de la aplicación, en la sección "Binarios incrustados", arrastre y suelte cada marco que desee usar desde la carpeta Carthage / Build en el disco.
Si está compilando para iOS, TVOS o watchOS: en la pestaña de configuración "General" de los destinos de la aplicación, en la sección "Frameworks vinculados y bibliotecas", arrastre y suelte cada marco que desee usar de la carpeta Carthage / Build en disco.
Leyendo el enlace a una biblioteca o un marco , sabemos que estas opciones se refieren a vincular un marco en nuestra aplicación / marco.
Pero, ¿cuáles son las diferencias entre ellos? ¿Hay alguna opción que catch all
para todos?
Para los marcos dinámicos construidos con carthage usualmente uso esta configuración:
- Vincule la biblioteca con cualquier objetivo en el que quiera usarla. Necesita esto para poder importar el marco en su código.
- Incruste la biblioteca solo en el objetivo de la aplicación que lo contiene. Esto realmente copiará el marco en su paquete de aplicaciones. Si no lo incluye, su aplicación se bloqueará al iniciarse, porque su infraestructura no se puede encontrar.
Solo el objetivo de la aplicación es responsable de incorporar todos los marcos y sus dependencias. De esta forma, si una extensión y la aplicación usan un marco, se distribuirá con la aplicación solo una vez.
Para la interfaz de Xcode:
- arrastrando un marco en General -> Binarios incrustados agregará el marco a las fases de construcción "Enlace binario con bibliotecas" e "Incrustar marcos"
- arrastrando un marco en General -> Linked Frameworks y Libraries agregará el marco solo a la fase de compilación "Link Binary With Libraries".
Las vistas en General parecen estar llenas desde la pestaña de fases de compilación para que pueda usar cualquiera de ellas.
Espero que tenga sentido.
Editar: las dependencias de destino son solo los objetivos que se deben construir antes de que se pueda generar el objetivo actual. Por lo tanto, su objetivo de la aplicación debería mostrar su extensión aquí, de modo que la extensión se genere cada vez que cree su aplicación.