Xcode 8 accroche / ne répond pas lors de l'ouverture du storyboard

j'ai récemment mis à niveau vers Xcode 8 et mis à jour mon projet vers Swift 3. Tout a bien fonctionné pendant un petit moment. Le chargement du Storyboard a toujours été lent (même lorsqu'il exécute encore Xcode 7) et était à peu près le même "lent" avec Xcode 8. J'ai toujours imaginé que c'est parce que je suis sur un Macbook Pro plus âgé (fin 2011).

mais récemment parfois Xcode était suspendu quand j'ai essayé d'ouvrir le storyboard. Et depuis hier, il est TOUJOURS 'suspendus'. Xcode devient insensible et je dois forcer Le quitter.

dans Activity Monitor je vois Xcode en utilisant 102% CPU et L'utilisation de la mémoire continue de croître (plus de 10 Go si je le laisse faire).

maintenant je suis vraiment coincé parce que quand J'ouvre Xcode il ouvre immédiatement mon projet et veut ouvrir le storyboard. Je ne peux même pas changer rapidement de fichier. Je n'aurai plus la fenêtre où je choisis mon projet. Donc, je ne peux plus ouvrir mon projet sans Xcode tournant sans réponse. Même si je double-clique sur un autre projet pour l'ouvrir Xcode essaie toujours d'ouvrir mon projet (sur le storyboard).

j'ai essayé un certain nombre de choses (basées sur des threads que je pourrais trouver sur des problèmes similaires avec des versions plus anciennes de Xcode):

  • supprimé Xcode et supprimé le contenu de /Library/Developer. Puis réinstallé Xcode.
  • Supprimé du contenu de var/dossiers
  • contenu supprimé du dossier des données dérivées
  • Redémarrez Macbook

Mon prochain essai sera de télécharger Xcode 8.1 bêta. Mais vraiment préféré ne pas le faire.

D'autres suggestions sur des choses que je pourrais essayer?

PETITE MISE À JOUR: Réussi à effacer l'état de Xcode où il ouvre mon projet par défaut et s'ouvre également sur la table de montage séquentiel. Fait par:

  • suppression de l'état d'Application ~/Library/Saved / com.Apple.dt.Xcode.dossier savedState (cela affichera à nouveau la fenêtre du projet récent au démarrage)
  • à également empêcher le projet de chargement d'un fichier spécifique lors de l'ouverture, je suis allé au contenu de .xcworkspace (dans mon dossier de projet) et ensuite supprimé /xcuserdata/myusername.xcuserdatad / UserInterfaceState.xcuserstate. Maintenant, le projet s'est ouvert sans aucun fichier sélectionné.

Encore... le principal problème reste. Quand je clique sur mon storyboard Xcode devient insensible.

24
demandé sur guido 2016-10-03 20:55:43

14 réponses

D'après mon expérience, pour un vieux projet, qui s'ouvre avec XCode8, il est urgent de vous poser quelques questions sur le périphérique par défaut pour visualiser storyboard. Cette question est tellement critique que jusqu'à ce que vous y répondiez, vous regardez une fenêtre de dialogue invisible jusqu'à ce que XCode ne réponde plus.

quelques solutions ont fonctionné pour moi:

  1. si vous obtenez une fenêtre de réponse de 1,5 seconde lors du démarrage de XCode - passez immédiatement à un fichier non-storyboard. Si l'on travaille avec un éditeur à double volet avec le storyboard dans le panneau auxiliaire, basculer.
  2. Créer une autre table de montage séquentiel, l'ouvrir, XCode vous posera la question sur le périphérique par défaut.
  3. Répondre à la question, enregistrer l'état du projet et de l'espoir pour ouvrir la table de montage séquentiel

La Suppression de ces fonctionnalités m'a permis de rouvrir le storyboard

    <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
répondu Alex Stone 2016-11-24 13:17:21

j'ai rencontré le même problème avec un nib dans Xcode 8.1.

ayant" barre du haut "et/ou" barre du bas "réglé à n'importe quoi mais" inféré " causé Xcode de ralentir à un crawl. Changer ceci en "inféré" ramène la performance à la normale, avec l'inconvénient qu'il supprime les barres dans l'aperçu.

Incorrect settings

Correct settings

46
répondu Luke Van In 2017-01-23 22:59:44

J'ai eu un problème similaire: Interface Builder était lent au point d'être presque complètement sans réponse.

j'ai trouvé que nettoyer mon xcuserdata répertoire restauré IB à la vitesse normale.

rm -rf Project.xcodeproj/xcuserdata/
rm -rf Project.xcworkspace/xcuserdata/
11
répondu jnic 2016-10-31 13:05:13

j'ai finalement trouvé une solution, basée en grande partie sur les réponses à cette question. Il est finalement venu à un regard-et-comparer avec le XML d'un storyboard de travail, mais voici un résumé des étapes que j'ai prises.

  • réinstaller Xcode 8.2.1 et redémarrer

  • supprime la configuration, de l'état, et les fichiers de données

    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/
    
  • Corriger les problèmes de mise en page automatique

  • supprimer toutes les dépendances de XML storyboard sauf:

    <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>
    
  • vérifiez tous les story-boards et les fichiers xib, en vous assurant que toutes les "barre supérieure" et "barre inférieure" sont définies à"inféré"

4
répondu Beer Me 2017-02-09 14:23:44

Comment puis-je résoudre le storyboard de la pendaison question:

  1. sauvegarder le fichier de scénario problématique.
  2. Supprimer dans le projet.
  3. créer un nouveau storyboard avec le même nom et le même emplacement que le storyboard supprimé.
  4. éditer les 2 storyboards avec éditeur de texte.
  5. Copier les données xml après le </dependencies> balise de l'ancien vers le nouveau.
3
répondu Gordon Wong 2016-11-07 19:17:30

Travailler avec Xcode 8.1 bêta. Je suppose que c'est un bug dans Xcode 8.

1
répondu guido 2016-10-03 19:44:59

je viens de passer à Xcode 8.3 et ce problème de suspension story-board est arrivé...J'ai essayé tout ce qui est mentionné ci-dessus, aucun ne fonctionne.

finalement j'ai remarqué qu'il y a un avertissement automatique disant que l'un des contrôleur de navigation taille de la barre de navigation de scene n'est pas correct. Il insiste pour que sa largeur soit de 320 alors que l'appareil choisi est iPhone 7. Je suis revenu à Xcode 8.2.1 (8.3 est tout simplement trop lent pour changer quoi que ce soit!), puis changé le dispositif de visualisation en l'iPhone SE...tous les fixes!

1
répondu Bonan 2017-04-02 23:53:37

j'ai eu ce problème peu de temps après la mise à niveau vers Xcode 9, chaque fois que je changeais quelque chose dans le storyboard( même en déplaçant une vue par 1 px), il pendait avec la boule de la mort qui tournait pendant au moins 10s.

Je ne voulais pas effacer tout mon dossier xcuserdata et perdre tous mes points de rupture etc, mais juste supprimer UserInterfaceState.xcuserstate et redémarrer Xcode a fonctionné pour moi.

1
répondu deltacrux 2017-10-12 21:08:17

voici ce que j'ai fait , couper le viewcontroller troublant, le coller dans le storyboard d'un nouveau projet temporaire puis recoller le viewcontroller. Fonctionne très bien pour moi.

au fil du temps, à mesure que le storyboard grandit, xcode fait un gâchis en gardant la trace historique des éléments du viewcontroller et donc du gel.

0
répondu Code Tree 2016-12-07 06:42:26
<document> tag) de l'infraction .xib:

useTraitCollections="NO"
0
répondu JBJr 2017-01-07 18:09:25

supprimer vos données dérivées de /Utilisateurs/{username}/Library/Développeur/Xcode/DerivedData

(vous pouvez obtenir le chemin exact à partir de) Fichier -> Projet De Création D': ou Fichier -> Paramètres D'Espace De Travail

0
répondu healthycola 2017-07-03 20:46:41

j'ai eu ce problème plusieurs fois. D'habitude, la solution de Bonan marche pour moi. Dans les deux cas où ce n'était pas le cas, le problème semblait être avec une barre d'outils que j'utilisais. Quand j'ai isolé la barre d'outils offensante en pointant sur un endroit sur le storyboard où le contrôleur de vue de la barre d'outils n'était plus visible sur mon écran, instantanément le storyboard accélère de nouveau. J'ai alors pointé vers le contrôleur de mauvaise vue et j'ai effacé la barre d'outils avant que le système ralentisse à nouveau. Je suis sûr que il y a un moyen de réparer la barre d'outils plutôt que de la supprimer, même si Je ne sais pas ce que c'est. J'ai eu la valeur de mesure simulée définie à "inféré" comme décrit ci-dessus par Luke Van dans Donc il doit avoir été un problème différent.

0
répondu Wyatt 2017-10-06 15:34:29

(Xcode 9.2) j'ai fait cela juste après avoir ajouté une contrainte à un stackview. Peu importe ce que j'ai fait, il ne semble pas à le résoudre. Je savais que c'était un problème d'agencement automatique.

j'ai fini par ouvrir le Main.storyboard fichier dans l'éditeur de texte et la suppression de la scène qui causait le problème. Il va commencer par

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

et se termine par </scene>. Il suffit de mettre en surbrillance le morceau entier, supprimer, enregistrer, et essayer à nouveau.

bien mieux que de commencer de plus à partir de zéro!

0
répondu BillSkiCO 2017-12-28 02:25:52

j'ai eu le même problème en utilisant Xcode 9.2, Je l'ai corrigé en supprimant la vue de pile qui emballait d'autres vues, j'ai juste enlevé le stackview et ses tags de subview et j'ai gardé d'autres vues dans la scène.

0
répondu user9222566 2018-01-16 05:36:22