para mac for descargar ios xcode xcode6

ios - mac - xcode for windows



¿Por qué no se crea automáticamente ProjectName-Prefix.pch en Xcode 6? (8)

¿Por qué no se crea automáticamente ProjectName-Prefix.pch en Xcode 6 ?

¿Ya no se necesita el encabezado de precompilación?

¿Dónde debo escribir el código que estaba en ProjectName-Prefix.pch antes?


¡Te mostraré una foto!

  1. Agregar un nuevo archivo

  2. Vaya a Proyecto / Configuración de compilación / APLICACIÓN LLVM 6.0-Language


Necesitas crear tu propio archivo PCH.
Añadir New file -> Other-> PCH file

Luego agregue la ruta de este archivo PCH a su setting->prefix header->path compilación- setting->prefix header->path

($ (SRCROOT) /filename.pch)


Para agregar el archivo .pch-

1) Agregue un nuevo archivo .pch a su proyecto-> Nuevo archivo-> otro-> archivo PCH

2) Ir a la configuración de construcción de su proyecto.

3) Buscar "encabezado de prefijo". Puedes encontrar eso en Apple LLVM.

4) Pegue esto en el campo $(SRCROOT)/yourPrefixHeaderFileName.pch

5) Limpiar y construir el proyecto. ¡¡¡Eso es!!!


Para agregar un nuevo archivo PCH, siga los siguientes pasos:

(1) Agregar nueva vista - Seleccionar iOS - Otro y archivo PCH

(2) agregue la ruta de este archivo PCH a su proyecto - BuildSetting - Apple LLVM 6.0 Language

Agregar Set Prefix Header Path YourApplicationName (root-path) /filename.pch


Si decide agregar un archivo .pch manualmente y desea usar Objective-C como antes de xCode 6, también tendrá que importar los marcos UIKit y Foundation en el archivo .pch. De lo contrario, tendrá que importar estos marcos manualmente en cada archivo de encabezado. Puede agregar el siguiente código de todos modos, ya que prueba el idioma utilizado:

#ifdef __OBJC__ #import <UIKit/UIKit.h> #import <Foundation/Foundation.h> #endif


Sin la pregunta de si es correcto o no, puede agregar el archivo PCH manualmente:

  1. Agregue un nuevo archivo PCH al proyecto: Nuevo archivo> Otro> Archivo PCH .

  2. En la opción de configuración de compilación del objetivo, establezca el valor del encabezado de prefijo al nombre de su archivo PCH, con el nombre del proyecto como prefijo (es decir, para el proyecto denominado TestProject y el archivo PCH llamado MyPrefixHeaderFile , agregue el valor TestProject/MyPrefixHeaderFile.pch a la lista).

    SUGERENCIA: Puedes usar cosas como $(SRCROOT) o $(PROJECT_DIR) para llegar a la ruta donde .pch el .pch en el proyecto.

  3. En la opción Configuración de compilación del objetivo, establezca el valor del encabezado de prefijo de precompilación en YES .


Sospecho que debido a los módulos, que eliminan la necesidad de #import <Cocoa/Cocoa.h> .

En cuanto a dónde colocar el código que pondría en un encabezado de prefijo, no hay ningún código que deba poner en un encabezado de prefijo. Ponga sus importaciones en los archivos que los necesitan. Pon tus definiciones en sus propios archivos. Pon tus macros ... en ninguna parte. Deje de escribir macros a menos que no haya otra forma (como cuando necesita __FILE__ ). Si necesita macros, póngalos en un encabezado e inclúyalos.

El encabezado de prefijo era necesario para las cosas que son enormes y usadas por casi todo en todo el sistema (como Foundation.h ). Si tienes algo tan grande y ubicuo, debes repensar tu arquitectura. Los encabezados de prefijo hacen que la reutilización del código sea difícil, e introducen problemas sutiles de compilación si alguno de los archivos enumerados puede cambiar. Evítelos hasta que tenga un problema grave de tiempo de compilación que pueda demostrar que se ha mejorado drásticamente con un encabezado de prefijo.

En ese caso, puedes crear uno y pasarlo a Clang, pero es increíblemente raro que sea una buena idea.

EDITAR: Para su pregunta específica sobre un HUD que utiliza en todos sus controladores de vista, sí, debe importarlo absolutamente en cada controlador de vista que realmente lo use. Esto deja claras las dependencias. Cuando reutilice su controlador de vista en un nuevo proyecto (que es común si construye bien sus controladores), inmediatamente sabrá lo que requiere. Esto es especialmente importante para las categorías, que pueden hacer que el código sea muy difícil de reutilizar si están implícitos.

El archivo PCH no está ahí para deshacerse de las dependencias del listado. Aún debe importar UIKit.h o Foundation.h según sea necesario, como lo hacen las plantillas de Xcode. El motivo de PCH es mejorar los tiempos de compilación cuando se trata de encabezados realmente masivos (como en UIKit).


Utilizar :

$ (PROJECT_DIR) / Nombre del proyecto / PrefixHeader.pch