¿Por qué no se ProjectName-Prefix.pch
crea automáticamente en Xcode 6
?
¿Ya no se necesita el encabezado de precompilación?
¿Dónde debo escribir el código que estaba ProjectName-Prefix.pch
antes?
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 colocaría en un encabezado de prefijo, no hay código que deba colocar en un encabezado de prefijo. Coloque sus importaciones en los archivos que las necesitan. Pon tus definiciones en sus propios archivos. Pon tus macros ... en ninguna parte. Deje de escribir macros a menos que no haya otra manera (como cuando lo necesita __FILE__
). Si necesita macros, colóquelas en un encabezado e inclúyalas.
El encabezado del prefijo era necesario para cosas enormes y utilizadas por casi todo en todo el sistema (como Foundation.h
). Si tiene algo tan grande y omnipresente, debe repensar su arquitectura. Los encabezados de prefijo dificultan la reutilización del código e introducen problemas sutiles de compilación si alguno de los archivos enumerados puede cambiar. Evítelos hasta que tenga un problema serio de tiempo de compilación que pueda demostrar que mejora dramáticamente con un encabezado de prefijo.
En ese caso, puede crear uno y pasarlo al sonido metálico, pero es increíblemente raro que sea una buena idea.
EDITAR: a su pregunta específica sobre un HUD que usa en todos sus controladores de vista, sí, debe importarlo absolutamente a cada controlador de vista que realmente lo use. Esto aclara las dependencias. Cuando reutilice su controlador de vista en un nuevo proyecto (lo cual es común si construye bien sus controladores), sabrá de inmediato 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ícitas.
El archivo PCH no está allí para deshacerse de las dependencias de la lista. Aún debe importar UIKit.h
o Foundation.h
según sea necesario, como lo hacen las plantillas de Xcode. La razón de la PCH es mejorar los tiempos de compilación cuando se trata de encabezados realmente masivos (como en UIKit).
TWAPIManager.m
, por ejemplo, a otro proyecto, obtendrá errores queTWALog()
no están definidos, sin ninguna pista sobre dónde encontrarlo. He encontrado exactamente ese problema en varios proyectos grandes que intentan compartir código. CrearloTWAPILog.h
e importarlo resuelve esto con un costo de desarrollo trivial.Sin la pregunta de si es correcto o no, puede agregar el archivo PCH manualmente:
Agregue un nuevo archivo PCH al proyecto: Nuevo archivo> Otro> Archivo PCH .
En la opción Configuración de compilación del objetivo , establezca el valor de Encabezado de prefijo en el nombre de su archivo PCH, con el nombre del proyecto como prefijo (es decir, para el nombre del proyecto
TestProject
y el nombre del archivo PCHMyPrefixHeaderFile
, agregue el valorTestProject/MyPrefixHeaderFile.pch
al plist).CONSEJO: Puedes usar cosas como
$(SRCROOT)
o$(PROJECT_DIR)
para llegar a la ruta de donde pones.pch
el proyecto.En la opción Configuración de compilación del objetivo , establezca el valor de Precompile Prefix Header en
YES
.fuente
Necesita crear su propio archivo PCH
Agregar
New file -> Other-> PCH file
Luego agregue la ruta de este archivo PCH a su compilación
setting->prefix header->path
fuente
$(PRODUCT_DIR)/$(PRODUCT_NAME)/PrefixHeader.pch
Te voy a mostrar con una foto!
Agregar un nuevo archivo
Vaya a Proyecto / Configuración de compilación / APPl LLVM 6.0-Language
fuente
Para agregar un archivo .pch
1) Agregue un nuevo archivo .pch a su proyecto-> Nuevo archivo-> otro-> archivo PCH
2) Pase a la configuración de compilación de su proyecto.
3) Buscar "encabezado de prefijo". Puede encontrar eso en Apple LLVM.
4) Pega esto en el campo
$(SRCROOT)/yourPrefixHeaderFileName.pch
5) Limpiar y construir el proyecto. ¡¡¡Eso es!!!
fuente
Si decide agregar un archivo .pch manualmente y desea usar Objective-C como antes de xCode 6, también deberá importar los marcos UIKit y Foundation en el archivo .pch. De lo contrario, deberá importar estos marcos manualmente en cada archivo de encabezado. Puede agregar el siguiente código de todos modos, ya que prueba el idioma utilizado:
fuente
Utilizar :
fuente
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
Agregue la ruta del encabezado del prefijo establecido YourApplicationName (root-path) /filename.pch
fuente