31 votes

Xcode 9 crash when ouvrir storyboard

XCode 9 GM Candidate 1 se bloque actuellement lors de l'ouverture d'un storyboard.

ProductBuildVersion: 9A235

ERREUR NON CAPTURÉE (NSInternalInconsistencyException) : Impossible de trouver la classe nommée UIImage
Informations utilisateur : (null)
Conseils : 
  0 : La vue de remplacement est en cours d'installation :

0 votes

Je rencontre également ce problème.

3 votes

C'est un gros problème... je ne peux pas travailler depuis plusieurs jours D:

0 votes

Ma seule solution a été de travailler dans XCode 8 et de construire avec XCode 9.

23voto

pckill Points 1463

Pour moi, cela plantait à l'ouverture de tous les storyboard ou xib dans mon application. J'ai créé un nouveau projet d'application à vue unique, ouvert son storyboard sans problème, rouvert mon propre projet - et il a commencé à ouvrir les storyboards et les xibs comme d'habitude. Probablement un problème de mise en cache de quelque sorte..

Voici les détails d'un crash que j'ai rencontré :

Thread ayant provoqué le plantage : 0  Dispatch queue: com.apple.main-thread

Type d'exception : EXC_CRASH (SIGABRT)
Codes d'exception : 0x0000000000000000, 0x0000000000000000
Note d'exception : EXC_CORPSE_NOTIFY

Informations spécifiques de l'application :
Envoi de _openAs: à  depuis 
Version de construction du produit : 9A235
ÉCHEC DE L'ASSERTION dans /Library/Caches/com.apple.xbs/Sources/IDEInterfaceBuilder/IDEInterfaceBuilder-13196/InterfaceBuilderKit/IssueProvider/IBIssueProvider.m:72
Détails:  castedInstance doit être une instance héritant de IBDocument, mais c'est IDEPegasusSourceEditor.SourceCodeDocument
Objet :   
Méthode :   -updatedIssuesForDocument:

Un autre crash que j'ai rencontré, et qui a été résolu de la même manière :

Thread ayant provoqué le plantage : 0  Dispatch queue: com.apple.main-thread

Type d'exception : EXC_CRASH (SIGABRT)
Codes d'exception : 0x0000000000000000, 0x0000000000000000
Note d'exception : EXC_CORPSE_NOTIFY

Informations spécifiques de l'application :
Envoi de openClickedNavigableItemAction: à > depuis 
Version de construction du produit : 9A235
ÉCHEC DE L'ASSERTION dans /Library/Caches/com.apple.xbs/Sources/IDEFrameworks/IDEFrameworks-13247/IDEKit/Editor/IDEEditorContext.m:1935
Détails:  Document inattendu dans IDEDocumentController:(  0   -[IDEEditorDocument init] (in IDEKit)

0 votes

Où pouvez-vous trouver les fichiers journaux de crash pour xcode? Je ne trouve aucune réponse sur comment faire ça.

0 votes

@thibautnoah, vous pouvez les trouver dans Console.app dans la section "Rapports Utilisateurs".

21voto

Peza Points 472

J'ai eu le même problème, mais dans mon cas, il n'a pas été résolu en supprimant les clés nil. Comme l'a souligné Vlad Valentin, cela était lié à un UITabBarViewController que j'avais dans mon Storyboard.

Le problème, tel qu'indiqué dans l'erreur générée dans le rapport de crash de Xcode :

EXCEPTION NON ATTRAPÉE (NSInternalInconsistencyException) : Impossible de trouver la classe nommée UIImage

lié à une image de fond que j'avais assignée à la tabBar. Une fois que j'ai supprimé l'image du code source du Storyboard, j'ai alors pu rouvrir Interface Builder.

Supprimer :

Lorsque j'ai essayé de ré-ajouter l'image en utilisant Interface Builder, Xcode a généré la même exception. J'ai donc dû charger l'image de manière programmée. J'espère que cela aidera et épargnera à certaines personnes d'avoir à recréer entièrement leurs UITabBarViewController.

2 votes

Supprimer la clé et la valeur backgroundImage a résolu mon problème. Merci !

0 votes

Il s'agit exactement du problème pour moi aussi. Merci BEAUCOUP d'avoir trouvé cela. Comme vous l'avez dit.. il suffit de supprimer le fond d'écran pour votre élément TabBar dans le contrôleur de Tabbar. ET vous NE pouvez PAS le définir du tout dans le générateur d'interface. Doit être fait à partir du code actuellement.

0 votes

Supprimer le attribut backgroundImage="tabBar" fonctionne pour moi! Merci!

15voto

Dermot Points 818

Je rencontre un problème similaire. Dans mon cas, j'ai remarqué que XCode plante systématiquement lors de l'ouverture via l'explorateur de fichiers, tandis que l'ouverture via "Ouvrir rapidement" (CMD+SHIFT+O) ne provoque pas de plantage.

2 votes

VRAIMENT bizarre que cette astuce fonctionne. lol...c'est un sacré bug là. Merci !

1 votes

Sauveur de vie! Impossible d'ouvrir les fichiers xib, storyboard, launchscreen ;/ Merci pour le partage)

2 votes

Fonctionne aussi pour moi !

8voto

Simple Points 231

Le problème est une balise clé nil (du moins pour mon cas)

ou plus généralement

Cela a son équivalent

ou plus généralement

< key="generic_name"/>

Supprimer tous les balises résout le problème.

  1. Ouvrez le storyboard en Code Source
  2. Recherchez et supprimez : ou tout (remplacez par votre nom de balise particulier)
  3. Recherchez et supprimez leurs équivalents : ou tout << generic_name > key="generic_name"/> (remplacez par votre nom de balise particulier)
  4. Enregistrez et ouvrez normalement votre storyboard
  5. Profitez

EDIT:

Ces balises semblent être liées et se trouvent dans le Code Source du Storyboard des UITabBarController cependant leurs équivalents sont dispersés dans les UIViewControllers connectés au UITabBarController. Peut être un, deux ou plusieurs niveaux ci-dessous.

1 votes

Cela semble fonctionner pour moi en ce moment. J'avais quelques et et peut-être quelques autres. Je viens de m'en débarrasser et le storyboard se charge maintenant.

0 votes

J'ai remplacé et . Avez-vous une idée de ce que je devrais utiliser pour ?

0 votes

Ce est à l'intérieur de

3voto

Vlad Valentin Points 31

J'ai trouvé une solution pour mon cas. Cela plantait à partir de l'UITabBarViewController.

  1. Ouvrez le storyboard en tant que code source
  2. Recherchez votre UITabBarViewController
  3. Supprimez la barre d'onglets
  4. Ouvrez le storyboard en tant qu'Interface Builder
  5. Créez une nouvelle barre d'onglets et connectez les contrôleurs de vue racine dont vous avez besoin

Comme l'a dit Michele Schillaci, vous pouvez essayer de supprimer certains contrôleurs de vue et vérifier si cela résout le problème.

0 votes

3. Supprimer la barre d'onglets < cela signifie-t-il de supprimer l'ensemble de la balise tabBarController?

0 votes

Pour moi, le problème était les connexions, c'est pourquoi le storyboard a planté. Mais j'ai dû ajouter un nouveau contrôleur de barre d'onglets pour pouvoir connecter de nouvelles connexions.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X