storyboard - studio - Xcode 8 cuelga/no responde al abrir el guión gráfico
visual studio installer (12)
Recientemente me actualicé a Xcode 8 y actualicé mi proyecto a Swift 3. Todo funcionó bien por un tiempo. La carga de guiones gráficos siempre ha sido lenta (incluso cuando todavía se está ejecutando Xcode 7) y era casi la misma "lenta" con Xcode 8. Siempre imaginé que esto se debe a que tengo una Macbook Pro más antigua (finales de 2011).
Pero recientemente, algunas veces, Xcode se bloqueaba cuando intentaba abrir el guión gráfico. Y desde ayer SIEMPRE está ''colgando''. Xcode deja de responder y tengo que forzarlo.
En el Monitor de actividad, veo que Xcode utiliza un 102% de CPU y el uso de memoria sigue creciendo (más de 10 GB si lo dejo).
Ahora estoy realmente atrapado porque cuando abro Xcode, inmediatamente abre mi proyecto y quiere abrir el guión gráfico. Ni siquiera puedo cambiar a un archivo rápido. Ya no tengo la ventana donde elijo mi proyecto. Entonces, no puedo abrir mi proyecto sin que Xcode deje de responder. Incluso cuando hago doble clic en otro proyecto para abrir Xcode, aún así intento abrir mi proyecto (en el guión gráfico).
He intentado varias cosas (basadas en los hilos SO que pude encontrar en problemas similares con versiones anteriores de Xcode):
- Se eliminó Xcode y se eliminaron los contenidos de ~ / Library / Developer. Luego reinstalado Xcode.
- Se eliminó el contenido de var / carpetas
- Se eliminó el contenido de la carpeta de datos derivados
- Reiniciar Macbook
Mi próximo intento será descargar la versión beta de Xcode 8.1. Pero realmente no lo hago.
¿Alguna otra sugerencia sobre cosas que podría probar?
PEQUEÑA ACTUALIZACIÓN: Logré borrar el ''estado'' de Xcode donde abre mi proyecto por defecto y también lo abre en el guión gráfico. Hizo esto por:
- Eliminando la carpeta ~ / Library / Saved Application State / com.apple.dt.Xcode.savedState (esto mostrará la ventana del proyecto reciente nuevamente al inicio)
- Para evitar que el proyecto cargue un archivo específico al abrir, fui a los contenidos de .xcworkspace (en la carpeta de mi proyecto) y luego eliminé /xcuserdata/myusername.xcuserdatad/UserInterfaceState.xcuserstate. Ahora el proyecto se abrió sin ningún archivo seleccionado.
Aún así ... el principal problema permanece. Cuando hago clic en mi guión gráfico, Xcode deja de responder.
Acabo de actualizar a Xcode 8.3 y apareció este tema del guión gráfico ... He intentado todo lo mencionado anteriormente, ninguno de ellos funciona.
Finalmente noté que había una advertencia de diseño automático que decía que una de las barras de navegación de la escena del controlador de navegación no es correcta. Insiste en que su ancho debe ser 320 mientras que el dispositivo elegido es iPhone 7. Cambié de nuevo a Xcode 8.2.1 (¡8.3 es demasiado lento para cambiar algo!), Luego cambié el dispositivo de visualización a iPhone SE ... ¡todo arreglado!
Cómo resuelvo el problema de colgar guiones gráficos:
- Haga una copia de seguridad del archivo del guión gráfico problemático.
- Eliminarlo en el proyecto.
- Crea un nuevo guión gráfico con el mismo nombre y ubicación que el borrado.
- Edite los 2 guiones gráficos con el editor de texto.
- Copie los datos xml después de la etiqueta
</dependencies>
del anterior al nuevo.
Elimine sus datos derivados de / Users / {username} / Library / Developer / Xcode / DerivedData
(Puede obtener la ruta exacta desde) Archivo -> Configuración del proyecto: o Archivo -> Configuración del área de trabajo
En mi experiencia, para un proyecto antiguo, que se abre con XCode8, es urgente que te haga alguna pregunta sobre el dispositivo predeterminado para ver el guión gráfico. Esta pregunta es tan crítica que hasta que la responda, estará mirando una ventana de diálogo invisible hasta que XCode deje de responder.
Un par de soluciones funcionó para mí:
- Si obtiene una ventana de respuesta de 1,5 segundos al iniciar XCode, cambie inmediatamente a un archivo que no sea de guiones gráficos. Si trabaja con un editor de paneles divididos con el guión gráfico en el panel auxiliar, aléjelo.
- Cree otro guión gráfico, ábralo , XCode le hará la pregunta sobre el dispositivo predeterminado.
- Responda la pregunta, guarde el estado del proyecto y espere abrir el guión gráfico
Eliminar estas capacidades me permitió volver a abrir el guión gráfico
<capability name="Aspect ratio constraints" minToolsVersion="5.1"/>
<capability name="Constraints with non-1.0 multipliers" minToolsVersion="5.1"/>
<capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
</dependencies>
Encontré el mismo problema con una punta en Xcode 8.1.
Tener "Barra superior" y / o "Barra inferior" configuradas en cualquier cosa que no sea "Inferida" hizo que Xcode se ralentizara hasta convertirse en un rastreo. Al cambiar esto a "Inferido", el rendimiento vuelve a la normalidad, con la desventaja de que elimina las barras en la vista previa.
Esto es lo que hice, cortar el perturbador viewcontroller, pegarlo en el guión gráfico de un nuevo proyecto temporal y luego volver a pegar el controlador de visualización. Funciona bien para mí.
Con el paso del tiempo, a medida que crece el guión gráfico, xcode hace un lío al mantener el historial de los elementos del viewcontroller y, por lo tanto, la congelación.
Finalmente descubrí una solución, basada en gran parte en las respuestas a esta pregunta. Finalmente se redujo a una mirada fija y comparar con el XML de un guión gráfico en funcionamiento, pero aquí hay un resumen de los pasos que tomé.
Reinstale Xcode 8.2.1 y reinicie
Eliminar archivos de configuración, estado y datos
rm -rf ~/Library/Developer/* rm -rf ~/Library/Caches/com.apple.dt.Xcode/* rm -rf ~/Library/Developer/Xcode/DerivedData/* rm -rf ApplicationName.xcodeproj/xcuserdata/ rm -rf ApplicationName.xcworkspace/xcuserdata/ rm -rf ~/Library/Saved/ Application/ State/com.apple.dt.Xcode.savedState/
Solucionar problemas de autolayout
Elimine todas las dependencias del XML del guión gráfico, excepto:
<dependencies> <deployment identifier="iOS"/> <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="11757"/> <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/> </dependencies>
Compruebe todos los storyboards y archivos xib, asegurándose de que todas las "barras superiores" y "inferiores" estén configuradas como "inferidas"
Los dos últimos artículos parecían ser los más importantes.
Hasta que Apple arregle IB, en la primera línea XML (etiqueta <document>
) del ofensivo .xib:
useTraitCollections="NO"
He tenido este problema varias veces. Por lo general, la solución de Bonan funciona para mí. En las dos ocasiones en que no lo hizo, el problema parecía ser una barra de barras que estaba usando. Cuando aislé la barra de herramientas ofensiva al desplazarme a un lugar en el guión gráfico donde el controlador de vista de la barra de herramientas ya no estaba visible en mi pantalla, instantáneamente el guión gráfico vuelve a acelerar. Luego volví al controlador de vista incorrecta y eliminé la barra de herramientas antes de que el sistema disminuyera la velocidad nuevamente. Estoy seguro de que hay una manera de arreglar la barra de herramientas en lugar de eliminarla, aunque no sé qué es eso. Tenía el valor de Métricas simuladas configurado en "inferido" como se describe anteriormente por Luke Van In, por lo que debe haber sido un problema diferente.
Trabajando con Xcode 8.1 beta. Supongo que es un error en Xcode 8.
Tuve este problema poco después de actualizar a Xcode 9, cada vez que cambiaba algo en el guión gráfico (incluso moviendo una vista por 1 px), se bloqueaba con la bola de la muerte giratoria durante al menos 10s.
No quería borrar toda mi carpeta de xcuserdata y perder todos mis puntos de interrupción, etc., pero simplemente eliminar UserInterfaceState.xcuserstate
y reiniciar Xcode me funcionó.
Tuve un problema similar: Interface Builder fue lento hasta el punto de no responder por completo.
Descubrí que borrar mi directorio xcuserdata
restauraba IB a velocidad normal.
Presumiblemente, un mal estado se había infiltrado en que estaba causando la desaceleración.
rm -rf Project.xcodeproj/xcuserdata/
rm -rf Project.xcworkspace/xcuserdata/