¿Utilizando el código C ++ en iOS, crear una biblioteca estática o mezclar con Objective C?

Tengo un código de C ++ (exponiendo una interfaz C solo a través de un encabezado) que usaré para un proyecto de iOS.

Puedo crear una biblioteca estática y vincularla desde mi proyecto de aplicación, o agregar los files fuente directamente al proyecto de la aplicación, ¿cuál es la mejor opción?

¡Todas las respuestas fueron apreciadas!

Agregue las fonts si espera que cambien con frecuencia. De lo contrario, una biblioteca será más adecuada y hará que su proyecto sea más limpio (sin embargo, tendrá que colocar solo los files de encabezado en su proyecto)

He usado OpenCV en uno de mis proyectos de aplicaciones, que está escrito principalmente en C ++. Encontré que agregar los files de origen al proyecto de la aplicación funcionó mejor para mí porque hice algunos pequeños cambios en el código donde sea apropiado. Viene al caso de uso básicamente.

Siempre prefiero agregar la fuente si la tengo, simplemente porque facilita la debugging. Si realiza una llamada a la rutina de la biblioteca y recupera un resultado inesperado (o falla, o lo que sea), es mucho más fácil ingresar al código de la biblioteca con el depurador y averiguar qué está sucediendo. Si solo tienes una biblioteca estática, es un cuadro negro y no puedes ver lo que sucede dentro. También le permite cambiar el código de la biblioteca más fácilmente si encuentra un error o una característica que falta (solo tenga cuidado si la biblioteca se comparte entre otros proyectos, para asegurarse de mantener actualizado el código de la biblioteca en su propio repository).

Xcode es bueno para permitirle mantener su proyecto organizado, así que use esas características para su beneficio. Mantenga el código de la biblioteca y los encabezados separados de su aplicación principal y vincúlelo según sea necesario.

Supongo que por código no quiere decir una biblioteca bien formada, por lo que espero que este código pueda tener algún tipo de presión de modificación en el futuro. La mejor manera es envolverlo. aquí hay un ejemplo muy bueno, pero puede hacerlo de manera diferente: http://robnapier.net/blog/wrapping-cppfinal-edition-759