Con cualquier cambio en el código (aunque el archivo no está en .pch), el proyecto completo se recompila cada vez.
Con cualquier cambio en el código (aunque el archivo no está en .pch), el proyecto completo se recompila cada vez.
Respuestas:
Actualización 2017/1/2
Este problema no se ha resuelto en Xcode 8.2.1 (para mi proyecto)
¿Como sobrevivir?
Code IDE: Xcode/Atom
Build: xcrun
Debug: Xcode (Control + Command + R)
Actualizar 2016/12/17
Este problema no se ha resuelto en Xcode 8.2.
Actualizar 12/12/2016
El átomo para codificar y la línea de comandos para compilar y depurar es mi elección ahora. Espero que Apple arregle este error legítimo pronto.
Actualización 2016/12/04
Este problema parece resuelto con Xcode 8.2 (beta 2) .
Pero para mí no está resuelto, me enfrento a este problema incluso cuando uso Xcode 8.2. Puede intentarlo (descargue Xcode8.2 beta2 aquí )
Sistema de construcción • Xcode no reconstruirá un objetivo completo cuando solo se hayan producido pequeños cambios. (28892475)
Antigua respuesta: esta es una solución:
Pestaña "Configuración de compilación" -> "Dialecto del lenguaje C" -> Cámbielo a "Compilador predeterminado".
El "Dialecto del lenguaje C" se configuró en "GNU99" en lugar de "Compilador predeterminado". Anteriormente el estándar era GNU99 pero ahora no lo es. En algún momento, Xcode no migró la configuración del proyecto de la biblioteca correctamente y, por lo tanto, se configuró en GNU99. Una vez que lo cambié a GNU99, ¡dejó de recompilar todo mi código cada vez!
Vaya a Producto -> Esquema -> Editar esquema. Seleccione Construir en la columna del lado izquierdo y desmarque " Buscar dependencias implícitas "
Pero esta bandera debe permanecer marcada cuando esté creando el proyecto por primera vez.
La solución para mí fue simplemente cerrar el guión gráfico, abrí el archivo fuente con el editor asistido y también abrí el archivo del guión gráfico (cerrando el guión gráfico, ya que no estaba haciendo ningún cambio) eliminé toda la compilación innecesaria
ACTUALIZADO
La mejor mejora que pude hacer fue modularizar mi proyecto. Modularizando específicamente la capa ORM que se utiliza en casi todas las demás clases. Al mover ese código a un destino separado dentro de mi proyecto e importarlo como un módulo, pude mejorar enormemente los tiempos de compilación. Xcode ya no decide recompilar archivos innecesarios cuando hago una compilación.
Ahora uso el método de compilación Single File para compilaciones de depuración incrementales rápidas.
Hay algunas otras buenas sugerencias en este enlace, incluida la refactorización de código, https://medium.com/rocket-fuel/optimizing-build-times-in-swift-4-dc493b1cc5f5
ANTIGUO
Todavía ha sido un problema constante para mí con Xcode 9. Al igual que muchos de ustedes, estoy trabajando en un gran proyecto rápido de 4 / cocoapods con muchos archivos fuente y volver a compilar cada archivo cada vez es irritante.
Hasta ahora obtengo los mejores resultados con la siguiente configuración. Le sugiero que lo pruebe y vea cómo funciona para usted.
Se agregaron configuraciones de compilación personalizadas definidas por el usuario,
Nota: No tengo la configuración personalizada definida por el usuario para la optimización de todo el módulo.
Cambié algunas cosas con mi código con respecto al encabezado del prefijo que parece haber solucionado este problema. No sé cuál realmente hizo el truco, pero los compartiré con la esperanza de que ayude a alguien más. Si no tiene un encabezado de prefijo establecido, entonces supongo que este no es el problema (o el problema es multifacético).
@import MyModule
). (Para mí, esto y el paso 1 eran lo mismo).Si eso todavía no funciona, puede intentar eliminar algunas importaciones más de su encabezado de prefijo. Puede haber algo tropezando ...
Parece que están trabajando activamente en ello de acuerdo con https://forums.developer.apple.com/thread/62737 pero una solución es agregar
HEADERMAP_USES_VFS = YES
en la configuración de compilación de su objetivo (Proyecto -> Destino -> Configuración de compilación -> Definido por el usuario).
Esta solución funcionó siempre para mí hoy, después de que ninguna otra solución haya funcionado de manera constante durante el último mes.
EDITAR: todavía a veces recompila todo, aunque parece hacerlo con mucha menos frecuencia con esta configuración definida.
Consulte todo el código de las @IBDesignable
directivas en mi caso particular, el proyecto de construcción de Xcode todo el tiempo porque tenía algunas vistas en mi guión gráfico que contenía estos @IBDesignable
atributos en él. Lo segundo es que también tengo mi guión gráfico abierto en una ventana separada (no en una pestaña) que empuja mi Xcode para crear compilaciones para todos los simuladores para siempre.
@IBDesignable
directivas ... ¿hay algo en particular que debamos buscar?
Madhuri Mane tiene toda la razón con respecto a esto. Para agregar un poco más de claridad, algunos puntos importantes a tener en cuenta:
Esto SÓLO es aplicable si tiene dependencias implícitas en bibliotecas / marcos en los que se basa su objetivo.
Si "Buscar dependencias implícitas" está deshabilitado:
Resultado: la biblioteca no se creará antes de crear el destino de la aplicación. El objetivo de la aplicación no se puede construir.
Solución: para asegurarse de que no ocurra el segundo escenario, debe agregar los objetivos necesarios en la lista de objetivos y ordenarlos correctamente.
Fuente y lectura adicional sobre el tema: https://pewpewthespells.com/blog/managing_xcode.html#scheme-action
Ahora, si todo su proyecto está alojado dentro de un objetivo y eso toma 4 minutos para compilar, no hay mucho que pueda hacer al respecto, excepto dividirlo en marcos para aprovechar lo anterior o descubrir dónde queda la compilación. Si está usando algo como PaintCode o tiene grandes porciones de código UIKit en un cambio rápido, cámbielo a Objective-c, se compila mucho más rápido
Apple lanzó ayer una nueva versión beta de Xcode (14 de noviembre)
Xcode 8.2 beta 2
Y este problema se ha marcado como resuelto en la nota de lanzamiento.
Sistema de construcción
• Xcode no reconstruirá un objetivo completo cuando solo se hayan producido pequeños cambios. (28892475)
Me esta funcionando. La velocidad de construcción volvió como siempre. ¡Todos los que se enfrentan a este problema deberían intentarlo!
Vaya a la configuración de compilación del proyecto y cambie el "Dialecto del lenguaje C".
El "Dialecto del lenguaje C" se establece en "GNU99" en lugar de "Compilador predeterminado" cuando actualiza la versión de xcode. En algún momento, Xcode no migró la configuración del proyecto de la biblioteca correctamente y, por lo tanto, se configuró en GNU99. Esto solucionará el problema
Si ha realizado cambios en el archivo Swift, comience a compilar la aplicación, vaya a la última pestaña y haga clic en el registro de compilación, durante la etapa "Comprobar dependencias", detenga la compilación y ejecútela de nuevo. En la segunda ejecución, solo debería compilar los archivos que modificó. Si se hace correctamente, he encontrado que funciona cada vez. No es necesario realizar ningún cambio en la configuración del proyecto.
Esto parece ser un error en Xcode.
Si ve que la aplicación está haciendo una compilación completa, deténgala e intente este truco nuevamente.
Si no ha realizado ningún cambio en el código, utilice CMD + CTRL + R para ejecutar sin compilar la aplicación que adjunta el depurador. No creará una aplicación, pero puede ayudar a ahorrar tiempo innecesario.
Problema de mi lado solucionado aplicando la desmarcación a la solución "Buscar dependencias implícitas".
PERO recuerde si está utilizando cocoapods, para aplicar esta configuración también a su proyecto de pod seleccionándolo desde
Producto -> Esquema -> Pods- "yourProjectName"
también se aplica en:
Producto -> Esquema -> "yourProjectName"
Me ayudó, así que espero que esta pista ayude a alguien más.
Gracias
Intente: 1. Navegar al Proyecto 2. Haga clic en Configuración de compilación 3. Verifique que OptimizationLevel esté configurado en Ninguno para la depuración. 4. Haga clic en Agregar configuración definida por el usuario 5. Establezca SWIFT_WHOLE_MODULE_OPTIMIZATION en YES.
para facilitar el tiempo de compilación de xcode, puede hacer uso de IRAMDISK (disco de memoria virtual). Medios muy útiles y efectivos para reducir el tiempo de compilación.
También se puede usar para acelerar la aplicación de uso frecuente.
consulte el siguiente enlace para descargar y usar: http://iramdisk.findmysoft.com/mac/