639 Stimmen

Xcode 6 Fehler: Unbekannte Klasse in Interface Builder Datei

Ich habe auf Xcode 6 Beta 4 aktualisiert und jetzt stürzt meine App kontinuierlich mit der Nachricht ab

Unbekannte Klasse X in der Interface Builder-Datei.

Es stürzt ab, weil Xcode angeblich meine benutzerdefinierten Klassen nicht finden kann, die ich in meinem Storyboard verknüpft habe, obwohl es zeigt, dass sie korrekt verknüpft sind in der Xcode-Oberfläche.

Ich bin sicher, dass alles korrekt verknüpft ist. Meine einzige andere Option könnte sein, die gesamte Storyboard-Datei zu löschen und von vorne zu beginnen, weil sie möglicherweise auf irgendeine Weise beschädigt ist.

Bearbeitung: Ich möchte auch hinzufügen, dass ich versucht habe, zu bereinigen, Simulator zurückzusetzen, mit Build-Phasen herumzuspielen, usw. Nichts davon funktioniert.

48voto

jovanjovanovic Punkte 4148

Dies kann in jedem Xcode über 6.0 passieren. Mir ist das passiert, nachdem ich einige ViewController-Klassen in einem Swift-Projekt umbenannt habe (aber ich denke, es wird auch mit Obj-C passieren). Sie müssen einfach den Interface Builder öffnen, zum Identity Inspector des ViewController gehen, dessen Klasse umbenannt wurde, die Klasse auswählen und Enter drücken. Dadurch wird die umbenannte Klasse dem ausgewählten ViewController neu zugewiesen und auch der Modulwert zurückgesetzt, der nach der Umbenennung der Klasse verloren geht.

Update für Xcode 8.1 (wahrscheinlich auch 8.0):

Xcode 8.1 stürzt einfach ab. Einfach und ärgerlich stürzt es ab und gibt nichts aus. Ich habe eine Stunde lang nach diesem Phantom-Crash gesucht, nur um herauszufinden, dass es genau das gleiche war - eine nicht zugewiesene Klasse in IB. Wenn Sie also einige Phantom-Crashes bekommen, überprüfen Sie zuerst IB auf nicht zugewiesene Klassen.

47voto

Arnab Punkte 3583

Das Aktivieren von Modul vom Ziel erben hat das richtige Zielmodul genommen. Das hat das Problem gelöst.

Bildbeschreibung hier eingeben

33voto

Furqan Khan Punkte 504

Manchmal verliert der von Ihnen bereitgestellte Controller die Zielmitgliedschaft von der aktuellen Anwendung. In diesem Fall bewirkt das Drücken der Eingabetaste im Feld "Modul" nichts. Gehen Sie zum Controller und stellen Sie sicher, dass die Zielmitgliedschaft auf die aktuelle App eingestellt ist.

33voto

Tamara Punkte 831

Meine Antwort: Setzen Sie das benutzerdefinierte Modul auf den benutzerdefinierten Pod-Namen (in meinem Beispiel - benutzerdefinierten Klassennamen) wie auf dem angehängten Screenshot

Diese Lösung gilt für einen spezifischen Fall: für benutzerdefinierte Ansichtsklassen aus dem Pod (oder Carthage) Framework.

Infrastruktur: XCode8, Swift3

Bildbeschreibung hier eingeben

19voto

roy Punkte 6347

Indem ich das richtige Modul für meine benutzerdefinierte Klasse auswählte, löste ich dieses Problem.

Hier ist es:

Bildbeschreibung hier eingeben

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X