¿Trabajar con bibliotecas en Xcode (es decir, ImageMagick, AdMob) include en proyecto o enlace?

(Esto se puede haber preguntado muchas veces antes, pero no lo veo en las preguntas sugeridas / búsqueda)

Suponiendo que tengo bibliotecas de códigos de terceros como ImageMagick y AdMob, que puedo utilizar en varios proyectos de iOS, ¿es "mejor" vincularlos o includelos en el proyecto?

Estoy usando XCode con git. En un proyecto los he incluido para que todos estén bajo control de fuente. En otro proyecto, están vinculados y estoy recibiendo "?" (signo de interrogación) junto a todos los files de la biblioteca. Confuso.

Mi sincera sugerencia para usar bibliotecas de terceros sería utilizar CocoaPods para todos los que puedas tener en tus manos. Que hay una buena probabilidad de que todos estén disponibles.

Motivos por los que la inclusión de CocoaPod es mejor:

  • Fácil de agregar y quitar del proyecto
  • Enlace automático a su proyecto
  • Fácil de actualizar después de include

Desventajas para el uso de CocoaPod:

  • No te ayuda si tu biblioteca no está incluida.
  • No quieres usar el xcworkspace recién creado en lugar de xcodeproj

Las razones para no usarlos son bastante débiles, y admitiré estar parcializado en favor de ellos. He tenido que trabajar con muchas bibliotecas y frameworks estáticos, la mayoría de los cuales se crean en casa. CocoaPods ha hecho que compartir, mantener e instalar bibliotecas sea un pedazo de pastel. Entonces, considere usarlos en su proyecto.

Si CocoaPods no es lo tuyo o no es una opción, el enlace contra la biblioteca o el marco es probablemente el segundo mejor. Si arrastra y suelta en su proyecto (aunque es fácil) hace que la actualización sea un poco más tarde un dolor. La vinculación dinámica le permite intercambiarlos desde el directory de files sin tener que cambiar nada en su proyecto Xcode. Requiere un poco más de finura para configurarse, pero en última instancia, será mejor para el largo recorrido. OMI de todos modos.