¿Cuál es el propósito de comstackr orígenes en Xcode?

  • ¿Cuál es el propósito de comstackr orígenes en Xcode?
  • ¿Necesita cada file en su proyecto?
  • Si agrego files a un proyecto, se agrega cada file a las fonts de compilation.

introduzca la descripción de la imagen aquí

Tu preguntaste

¿Cuál es el propósito de comstackr orígenes en Xcode?

El propósito es informar al comstackdor qué files fuente (por ejemplo, files .m) deberían comstackrse en el process de construcción de un objective.

Un par de ejemplos prácticos de cuándo puede editar sus "fonts de compilation":

  1. Además del ejemplo de Idles de include o excluir fonts para múltiples destinos en su proyecto, otro escenario del mundo real en el que podría excluir fonts de "Orígenes de compilation" es cuando usa una biblioteca de terceros (o set de classs) que proporciona código fuente, pero desea controlar qué fonts se comstackrán en su proyecto.

    Por ejemplo, si usa FMDB , copie las fonts en su proyecto, pero incluye un file de ejemplo fmdb.m que ilustra cómo usar FMDB, pero no desea comstackrlo como parte de su aplicación. Podrías (tal vez incluso quieras) eliminar fmdb.m de tu proyecto por completo, pero también podrías eliminar ese file de tus fonts de compilation, de esa manera tendrás un buen ejemplo de cómo usar las classs a tu scope, pero no se comstackrá como parte de su proyecto.

    Otro ejemplo del mundo real sería si usas el framework SDWebImage y has incluido las fonts en tu proyecto. Sin embargo, es posible que no necesite la categoría MKAnnotationView+WebCache , en cuyo caso probablemente querrá eliminarla de sus "fonts de compilation" si no usa maps y la class MKAnnotationView . Si conservó eso en su proyecto, es posible que reciba advertencias de linker si no vincula su proyecto con MapKit.framework. Si no está utilizando MapKit, sería más fácil eliminar el MKAnnotationView+WebCache de sus fonts de compilation y resolver la necesidad de vincular MapKit.framework (cuando no lo necesite).

  2. En otra ocasión, usará "Fuentes de compilation" cuando desee establecer un indicador de comstackdor solo para un file fuente particular. Por ejemplo, si tiene un proyecto ARC, pero tiene algún código que no sea ARC. Puede -fno-objc-arc a "Orígenes de compilation", seleccionar el file .m no ARC y configurar el -fno-objc-arc como se describe en las Notas de la versión de transición a ARC .

  3. Si alguna vez agregó files a su proyecto, pero accidentalmente se olvidó de seleccionar la opción "Agregar a destinos", esos files de origen no se comstackrán cuando compile su objective. Pero podría entrar en "Fuentes de compilation" y agregar esos files fuente en la list de files que se comstackrán y, posteriormente, se includeán en futuras comstackciones de su objective.

Tu preguntaste:

¿Necesita cada file en su proyecto?

No, solo cada file fuente (por ejemplo, file .m) que desea comstackr. No encabezados. No activos. Solo el código fuente que desea comstackr.

Si agrego files a un proyecto, ¿se agrega cada file a las fonts de compilation?

Si hace clic en la checkbox "Agregar a destinos" cuando agrega los files, los files .m se agregarán a "Fuentes de compilation" y los resources se agregarán a "Copiar resources de package", etc. De lo contrario, no lo harán.

agregar objetivos

Supongamos que tiene varios objectives en su proyecto y desea solo algo de su código en cada objective, luego eliminará / agregará cosas a las fonts de compilation según corresponda. Básicamente es una list de files de código fuente que se pasarán al comstackdor al crear ese objective.

Por ejemplo, podría configurar un objective que construya el subset A de mi código en una biblioteca estática, luego otro objective que construya el subset B, enlace contra la biblioteca construida por el otro objective y especifique el primer objective como una dependencia de destino para que si construyo el objective B, Xcode buildá el objective A primero.