Xcode 8 se cuelga / no responde al abrir storyboard


Recientemente he actualizado a Xcode 8 y actualizado mi proyecto a Swift 3. Todo funcionó bien por un tiempo. La carga del guion gráfico siempre ha sido lenta (incluso cuando se sigue ejecutando Xcode 7) y fue aproximadamente la misma 'lenta' con Xcode 8. Siempre imaginé que esto es porque estoy en un Macbook Pro más viejo (finales de 2011).

Pero recientemente a veces Xcode simplemente se colgaba cuando intentaba abrir el guion gráfico. Y desde ayer siempre está "colgando". Xcode deja de responder y tengo que forzar Salir se.

En Activity Monitor veo que Xcode usa un 102% de CPU y el uso de memoria sigue creciendo (más de 10 GB si lo dejo).

Ahora estoy realmente atascado porque cuando abro Xcode abre inmediatamente mi proyecto y quiere abrir el guion gráfico. Ni siquiera puedo cambiar a un archivo Swift. Ya no tengo la ventana donde elijo mi proyecto. Por lo tanto, ya no puedo abrir mi proyecto sin que Xcode deje de responder. Incluso cuando hago doble clic en otro proyecto para abrir Xcode todavía intenta abrir mi proyecto (en el storyboard).

He probado una serie de cosas (basado en TAN hilos que pude encontrar en problemas similares con versiones anteriores de Xcode):

  • Eliminado Xcode y eliminado el contenido de /Library/Developer. A continuación, reinstalado Xcode.
  • Se ha eliminado el contenido de var / folders
  • Eliminado 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 prefiero no hacer eso.

¿Alguna otra sugerencia sobre cosas que podría probar?

PEQUEÑA ACTUALIZACIÓN: Logré borrar el' estado ' de Xcode donde abre mi proyecto de forma predeterminada y también lo abre en el guion gráfico. Hizo esto por:

  • Eliminando el Estado de la aplicación ~/Library/Saved/com.manzana.dt.Xcode.Carpeta savedState (esto mostrará la ventana del proyecto reciente de nuevo al inicio)
  • Para evitar también que el proyecto cargue un archivo específico al abrirlo, fui al contenido de .xcworkspace (en mi carpeta de proyecto) y luego eliminado /xcuserdata/myusername.xcuserdatad / UserInterfaceState.xcuserstate. Ahora el proyecto se abrió sin ningún archivo seleccionado.

Todavía... el problema principal sigue siendo. Cuando hago clic en mi storyboard Xcode deja de responder.

Author: guido, 2016-10-03

14 answers

En mi experiencia, para un proyecto antiguo, que se abre con XCode8, quiere hacerle urgentemente una pregunta sobre el dispositivo predeterminado para ver el guion gráfico. Esta pregunta es tan crítica que hasta que la conteste, estará mirando una ventana de diálogo invisible hasta que XCode deje de responder.

Un par de soluciones funcionaron para mí:

  1. Si obtiene una ventana de respuesta de 1.5 segundos al iniciar XCode, cambie inmediatamente a un archivo que no sea storyboard. Si trabaja con un panel dividido editor con el storyboard en el panel auxiliar, desactive.
  2. Crea otro storyboard, ábrelo, XCode le hará la pregunta sobre el dispositivo predeterminado.
  3. Responda la pregunta, guarde el estado del proyecto y espere abrir el storyboard

Eliminar estas capacidades me permitió volver a abrir el guion 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>
 12
Author: Alex Stone,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-11-24 13:17:21

Me encontré con el mismo problema con un plumín en Xcode 8.1.

Tener "Barra Superior" y/o "Barra Inferior" configurada a cualquier cosa menos "Inferido" causó que Xcode disminuyera la velocidad a un rastreo. Cambiar esto a" Inferido " devuelve el rendimiento a la normalidad, con el inconveniente de que elimina las barras en la vista previa.

Configuración incorrecta

Ajustes correctos

 46
Author: Luke Van In,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-01-23 22:59:44

Tuve un problema similar: Interface Builder era lento hasta el punto de no responder casi por completo.

Encontré que limpiar mi directorio xcuserdata restauró IB a velocidad normal.

Presumiblemente se había colado algún mal estado que estaba causando la desaceleración.

rm -rf Project.xcodeproj/xcuserdata/
rm -rf Project.xcworkspace/xcuserdata/
 11
Author: jnic,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-10-31 13:05:13

Finalmente descubrí una solución, basada en gran parte en las respuestas a esta pregunta. Finalmente se redujo a mirar y comparar con el XML de un guion 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/
    
  • Arreglar problemas de diseño automático

  • Elimine todas las dependencias de storyboard XML 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>
    
  • Comprobar todos los guiones gráficos y archivos xib, asegurando que todas las "Barra superior" y "Barra inferior"estén configuradas como "Inferidas"

Los dos últimos elementos parecían ser los más importantes.

 4
Author: Beer Me,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-02-09 14:23:44

Cómo resuelvo el problema de colgar storyboard:

  1. Haga una copia de seguridad del archivo de guion gráfico problemático.
  2. Elimínelo en el proyecto.
  3. Cree un nuevo guion gráfico con el mismo nombre y ubicación que el eliminado.
  4. Edite los 2 guiones gráficos con el editor de texto.
  5. Copie los datos xml después de la etiqueta </dependencies> de la antigua a la nueva.
 3
Author: Gordon Wong,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-11-07 19:17:30

Trabajando con Xcode 8.1 beta. Supongo que es un error en Xcode 8.

 1
Author: guido,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-10-03 19:44:59

Acabo de actualizar a Xcode 8.3 y llegó este problema de colgar storyboard...He intentado todo lo mencionado anteriormente, ninguno de ellos funciona.

Finalmente me di cuenta de que hay una advertencia de diseño automático que dice que uno de los el tamaño de la barra de navegación de la escena del controlador de navegación no es correcto. 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 nada!), luego cambió el dispositivo de visualización a iPhone SE...todo ¡arreglado!

 1
Author: Bonan,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-04-02 23:53:37

Tuve este problema poco después de actualizar a Xcode 9, cada vez que cambiaba algo en el guion gráfico (incluso moviendo una vista por 1 px), colgaba con la bola de playa giratoria de la muerte durante al menos 10s.

No quería borrar toda mi carpeta xcuserdata y perder todos mis puntos de interrupción, etc., pero simplemente eliminar UserInterfaceState.xcuserstate y reiniciar Xcode funcionó para mí.

 1
Author: deltacrux,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-10-12 21:08:17

Esto es lo que hice , cortar el problemático viewcontroller, pegarlo en el storyboard de un nuevo proyecto temporal y luego pegar de nuevo el viewcontroller. Trabajando bien para mí.

Con el tiempo, a medida que el storyboard crece, xcode hace un lío de mantener la pista de la historia de los elementos de viewcontroller y, por lo tanto, la congelación.

 0
Author: Code Tree,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-12-07 06:42:26

Hasta que Apple arregle IB, en la primera línea XML (etiqueta<document>) del infractor .xib:

useTraitCollections="NO"
 0
Author: JBJr,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-01-07 18:09:25

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 espacio de trabajo

 0
Author: healthycola,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-07-03 20:46:41

He tenido este problema varias veces. Por lo general, la solución de Bonan funciona para mí. En las dos ocasiones en las que no lo hizo, el problema parecía ser con una barra de herramientas que estaba utilizando. Cuando aislé la barra de herramientas ofensiva desplazándome a un lugar en el guion gráfico donde el controlador de vista de la barra de herramientas ya no era visible en mi pantalla, instantáneamente el guion gráfico se acelera. Luego volví al controlador de vista incorrecto y eliminé la barra de herramientas antes de que el sistema se ralentizara nuevamente. Estoy seguro hay una manera de arreglar la barra de herramientas en lugar de eliminarla, aunque no se lo que es. Tenía el valor de las métricas Simuladas establecido en 'inferido' como se describe anteriormente por Luke Van en lo que debe haber sido un problema diferente.

 0
Author: Wyatt,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-10-06 15:34:29

(Xcode 9.2) Esto sucedió justo después de agregar una restricción a un stackview. No importaba lo que hiciera, no parecía arreglarlo. Sabía que tenía que ser un problema de diseño automático que no podía resolver.

Terminé abriendo la Principal.storyboard file en el editor de texto y eliminar la escena que estaba causando el problema. Comenzará con

    <!—YourViewControllerName—>
    <scene sceneID=“XXX-XXX-XXX”>

Y termina con </scene>. Simplemente resalte todo el fragmento, elimine, guarde e inténtelo de nuevo.

Mucho mejor que empezar de cero!

 0
Author: BillSkiCO,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-12-28 02:25:52

Tuve el mismo problema usando Xcode 9.2, lo solucioné eliminando la vista de pila que envolvía otras vistas, simplemente eliminé la vista de pila y sus etiquetas de subvista y mantuve otras vistas en la escena.

 0
Author: user9222566,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2018-01-16 05:36:22