Xcode sigue construyendo storyboard después de cada pulsación de tecla

145

Mi proyecto Xcode usando un guión gráfico ingresó recientemente en un estado muy extraño: Xcode sigue construyendo todo el proyecto y, en particular, el guión gráfico después de cada pulsación de tecla . No encontré ninguna razón para este comportamiento ni en mi proyecto para diferenciar todos los archivos interesantes (guión gráfico y proyecto) ni una configuración en Xcode (¿tal vez simplemente no pude encontrarlo?) No hace falta decir que esta "característica" hace que trabajar en mi proyecto sea casi imposible ya que la CPU está constantemente ocupada con la reconstrucción del guión gráfico cuando escribo un nuevo código. ¿Alguien ha visto esto?

MrTJ
fuente

Respuestas:

415

Es causado por las IB_DESIGNABLEdefiniciones en los archivos de encabezado de origen. Probablemente sea un problema solo si el archivo de encabezado que contiene IB_DESIGNABLEestá incluido (incluso implícitamente) en el archivo fuente que está editando actualmente.

No encontré una solución definitiva sobre cómo deshabilitar IB_DESIGNABLEy compilar continuamente el guión gráfico y los archivos fuente. Agradecería una bandera Xcode para deshabilitar esto temporalmente. Intenté también rodear el IB_DESIGNABLEcon #ifdefmacros pero se consideran incluso si se #ifdefevalúa como falso. Comentando uno por uno las IB_DESIGNABLEayudas, pero no es una solución factible con muchos IB_DESIGNABLEs.

Actualizar

Finalmente encontré una manera rápida de evitar este comportamiento molesto. Una vez abierto el guión gráfico en la ventana activa, deshabilite "Actualizar vistas automáticamente" en el menú Editor. Esto dejará de actualizar las vistas en el editor de guiones gráficos que usan su código personalizado y, por lo tanto, acelerará su desarrollo de manera significativa. Cuando necesite nuevamente la compilación justo a tiempo para tener una vista previa visual de su código personalizado, habilite esta opción nuevamente (parece que también debe volver a abrir su guión gráfico para que vuelva a funcionar).

ingrese la descripción de la imagen aquí

Es posible que desee agregar un enlace de teclas al comando, como command-option-control-A, para activar / desactivar fácilmente el comportamiento. Para agregar un enlace de teclas en Xcode, toque la coma de comando para ver las preferencias, elija la pestaña Enlaces de teclas, use la barra de búsqueda para encontrar el comando, luego haga doble clic en el área correcta para agregar la pulsación de tecla deseada.

Enfoque "Déjalo"

Alternativamente, desactive "Actualizar vistas automáticamente" y nunca lo active .

Haga una pulsación conveniente para "Actualizar todas las vistas" , diga command-option-shift-R

ingrese la descripción de la imagen aquí

Mientras trabaja, solo toque command-option-shift-R de vez en cuando o según sea necesario. Por lo general, solo es necesario tocar command-option-shift-R mientras trabaja en el guión gráfico.

MrTJ
fuente
10
No estoy seguro de cómo se activó, pero desactivar "Actualizar automáticamente las vistas" resolvió mi problema
MandisaW
1
Xcode 7.3 está constantemente construyendo proyectos cuando el editor activo tiene el guión gráfico abierto. Afortunadamente, esta respuesta resolvió mi problema. Apple sigue impresionándome ...
Oleksii Taran
24
Problema de Xcode Versión 8.2.1 (8C1002) resuelto. Cuando encontré esta respuesta y resolvió mi problema, no pude contener las lágrimas. Pasé 2 días en pesadilla eliminando datos derivados, limpiando proyectos, reinstalando todos los pods. (Creo que es hora de Apple, dele todo el desarrollo de IDE a Jetbrains. ¡Qué manzana hacer es una mierda! ¡Gracias!
korgx9
2
Muchas gracias, xcode sigue construyendo realmente me hace sentir molesto.
Chauyan
8
Esta solución también funciona en Xcode 9. Desactiva la opción "Actualizar vistas automáticamente" en Storyboard, y no más reconstrucciones constantes. Muchas gracias!
PL
7

Tuve este problema y la respuesta aceptada no funcionó para mí.

El problema que tuve fue que siempre mantengo el guión gráfico abierto en su propia pestaña dentro de XCode para poder acceder a él rápidamente.

La única forma en que pude solucionarlo fue cerrar esa pestaña o seleccionar un archivo diferente (como un archivo de código normal) y luego cerrar y volver a abrir XCode. A partir de entonces ya no se reconstruía en cada pulsación de tecla.

Sin embargo, tenga en cuenta que si necesita abrir el guión gráfico para realizar cambios, este problema a veces puede reaparecer y tendré que repetir el proceso anterior.

¡No puedo esperar hasta que Apple arregle esto, ya que es muy frustrante!

(ノ ಠ 益 ಠ) ノ 彡 ┻━┻

Nick Kirsten
fuente