web-dev-qa-db-fra.com

Classe de fenêtre inconnue (null) dans le fichier Interface Builder, créant plutôt une fenêtre générique

Mon application utilise des storyboards et les fenêtres doivent utiliser une classe personnalisée, MyWindow par exemple, ou lors de l'exécution/lancement de l'application, un message d'erreur indique:

Classe de fenêtre inconnue (null) dans le fichier Interface Builder, créant plutôt une fenêtre générique

Je viens de le remarquer après la mise à niveau vers Xcode 9.1, mais je ne sais pas si c'était déjà le cas auparavant.

Une question similaire est ici: Xcode 6 Strange Bug: classe inconnue dans le fichier Interface Builder

Mise à jour:

Mon autre projet n'a pas ce problème. Je vais enquêter plus tard.

Update2:

Dans les deux projets, une fenêtre appartient à un contrôleur de fenêtre personnalisé. J'ai vérifié le storyboard xml mais je n'ai rien trouvé d'étrange.

31
LShi

Cet avertissement se produit également lorsque je crée et exécute un tout nouveau projet vide dans Xcode 9.1.

Le remplacement de NSWindow par défaut par une classe personnalisée vide de NSWindow sans modification supprime l'erreur, mais ce comportement n'a aucun sens.

Par conséquent, je le classe comme bogue.

30
applehelpwriter

J'ai le même problème dans plusieurs projets depuis la mise à niveau.

"Classe de fenêtre inconnue (null) dans le fichier Interface Builder, créant plutôt une fenêtre générique"

Cela se produit dans tous les projets Cocoa, semble-t-il pour le moment. Peu d'entre eux fonctionneront correctement. Cependant, je n'ai aucun contrôleur de fenêtre personnalisé. Le remplacement du contrôleur de fenêtre par défaut dans Storyboard par une sous-classe nommée ne change pas la situation.

Résolu: - La création d'une sous-classe de fenêtre personnalisée vierge pour la fenêtre par défaut résout le problème. J'étais ébranlé par le message apparaissant après avoir apporté des modifications au projet (suppression accidentelle de mon contrôleur de vue principal, etc.)

7
CodeCoordination

J'ai eu le même problème après la mise à niveau vers Xcode 9.1. Pour résoudre l'erreur, vous devez remplacer toutes les instances de NSWindow dans les storyboards par des sous-classes personnalisées de NSWindow.

7
Kaschman

Suivre:

Ceci est résolu dans la dernière mise à jour XCode 9.3 (9E145)

Correction d'un problème de compilation des storyboards macOS qui entraînait une journalisation incorrecte: "Classe de fenêtre inconnue (null) dans le fichier Interface Builder, créant plutôt une fenêtre générique." (34994636)

2
Pat_Morita