wake-up-neo.com

Interface Builder - Fehler beim Laden von Designable aus dem Pfad (Null)

Ich habe einige benutzerdefinierte Steuerelemente erstellt, die ich in einem neuen Projekt verwendet habe. Ich bekomme jedoch immer wieder Fehler im Interface Builder:

Failed to update auto layout status: Failed to load designables from path (null)

oder

Failed to render instance of <control>: Failed to load designables from path (null)

Ich habe die Steuerelemente in einem anderen Projekt getestet und scheint im Interface Builder richtig dargestellt zu werden, aber ich kann sie nicht dazu bringen, im aktuellen Projekt zu arbeiten. Wodurch wird dieser Fehler verursacht und wie kann ich ihn beheben?

Danke im Voraus...

53
Jake

Ich hatte das gleiche Problem. Ich benutze Cocoapoden und es gibt eine Schote, die Designable verwendet. Der Trick bestand also darin, 'use_frameworks!' zum Podfile. Wenn Sie ein Pod-Update durchführen, öffnen Sie das Xcode-Projekt erneut und die Fehlermeldung sollte nicht angezeigt werden.

61
i89

Bearbeiten**

Öffne Xcode (aber nicht dein Projekt) und klicke auf Fenster (zweiter von rechts)

Klicken Sie auf Organizer, stellen Sie sicher, dass Sie sich in Projekten befinden, und löschen Sie alle abgeleiteten Daten. .__ Schließen Sie Xcode und öffnen Sie Ihr Projekt erneut. Lassen Sie Xcode Ihre Dateien neu indizieren und prüfen, ob das Problem dadurch gelöst wird 

11
Anthony Taylor

Ich verwende Xcode 7.3 und erhielt den Fehler, um magisch zu verschwinden, indem ich diese Schritte befolge, die mein Projekt letztendlich in dem Zustand belassen, in dem es sich vor den folgenden Schritten befand (d. H. Eine Netto-Nulländerung auf irgendetwas):

  1. Fügen Sie "use_frameworks!" Hinzu. (ohne Apostrophe natürlich) in Ihre podfile
  2. Öffnen Sie ein Terminalfenster
  3. cd im root-Verzeichnis Ihres Projekts
  4. Führen Sie 'pod install' über die Befehlszeile aus
  5. Entfernen Sie die 'use_frameworks!' aus deiner podfile
  6. Führen Sie 'pod install' erneut aus
  7. Versuchen Sie es erneut, und prüfen Sie, ob dadurch der Fehler __. es tat für mich

Sieht aus wie einer dieser gelegentlichen Xcode-Haken, die wir alle schon einmal gesehen haben, besonders wenn Sie es eilig haben, etwas anderes zu erledigen.

4
John Jacecko

Ich hatte das gleiche Problem in einem anderen Projekt als CocoaPods mit benutzerdefinierten IBDesignable-Ansichten. Anscheinend handelt es sich um einen Xcode-Fehler. Schritte in diese Antwort hat mir geholfen, das Problem zu lösen. Zusamenfassend:

  1. Beenden Sie Xcode.
  2. Beenden Sie alle Prozesse mit dem Namen Interface Builder Cocoa Touch Tool auf Ihrem Computer.
  3. Starten Sie Xcode erneut.
2
pjuzeliunas

Dieses Problem wurde in der neuesten Version von Cocoapods behoben 

Zur Installation führen Sie einfach Folgendes aus:

[Sudo] gem install cocoapods --pre

Um den Fehler zu beheben: "Fehler beim Laden von Designable aus Pfad (Null)":

use_frameworks!

   pod '****'



end

Fügen Sie use_frameworks! zu Ihrer Pod-Datei hinzu

Weitere Informationen: Live-Rendering einer benutzerdefinierten Komponente mit IB_DESIGNABLE aus einer Pod-Abhängigkeit

2
PeiweiChen

Ich bin nicht sicher, ob dies Ihr Problem löst, da ich es nicht reproduzieren kann. Aber ich dachte, du könntest es trotzdem versuchen.

Wie andere bereits erwähnt haben, scheint es, als hätten CocoaPods das gleiche Problem. Ich habe die Commits durchgearbeitet, die ihre Korrekturen ausmachten, jedoch ohne Ergebnis in Bezug auf Ihre Einstellung.

Ich habe jedoch eine andere verwandte Fehlermeldung in dieser StackOverflow-Frage gefunden, die sich auch auf etwas bezieht, das von IB auf dem Pfad nicht gefunden wurde. Ich fragte mich, ob ihre Lösung Ihnen helfen könnte:

Die Lösung bestand im Hinzufügen von $(CONFIGURATION_BUILD_DIR) im Feld Build settingsRunpath Search Paths des Ziels.

1
Dennis

Es gibt einen sehr praktischen Trick, mit dem Sie Live-Rendering debuggen können.

1) Fügen Sie diese Erweiterung zu Ihrem Projekt hinzu:

    extension UIView {
    public func liveDebugLog(message: String) {
        #if !(TARGET_OS_IPHONE)
            let logPath = "/tmp/XcodeLiveRendering.log"
            if !NSFileManager.defaultManager().fileExistsAtPath(logPath) {
                NSFileManager.defaultManager().createFileAtPath(logPath, contents: NSData(), attributes: nil)
            }

            var fileHandle = NSFileHandle(forWritingAtPath: logPath)
            fileHandle.seekToEndOfFile()

            let date = NSDate()
            let bundle = NSBundle(forClass: self.dynamicType)
            let application: AnyObject = bundle.objectForInfoDictionaryKey("CFBundleName")
            let data = "\(date) \(application) \(message)\n".dataUsingEncoding(NSUTF8StringEncoding, allowLossyConversion: true)
            fileHandle.writeData(data)
        #endif
    }
  }

2) Fügen Sie eine liveDebugLog(message:) hinzu und fügen Sie ein, was Sie wissen möchten .__) 3) Öffnen Sie Terminal.app und führen Sie den Befehl open /tmp/XcodeLiveRendering.log aus.

Erledigt!

Kredite für Morten Bøgh

1
Rafael Machado

Das Problem war, dass IB_DESIGNABLE von cocoapods nicht richtig verknüpft ist, wenn der Schnittstellen-Generator Ihre Ansichten rendert.

Der use_frameworks!-Trick sollte es tun, aber für mich war es einfach zu viel Aufwand, den Code zu migrieren.

Mein Trick bestand darin, Unterklasse alle IB_DESIGNABLE-Ansicht anzuzeigen, die ich in dem Storyboard verwendet habe, das direkt von den Pods kam. Fehler behoben.

1
Antzi

ich habe dieses Problem durch ein Update des Pods "Pod Update" gelöst. Ich hoffe, es wird für Sie funktionieren

1
Yuvraj Kale

Ich benutze keine CocoaPods, aber ich verwende ein internes Framework, das IBDesignable-Elemente enthält und auch dieses Problem hatte. Ich habe die abgeleiteten Daten aus meinem Hauptprojekt gesäubert, gelöscht und Xcode neu gestartet, aber das schien es nicht zu beheben. Um das Problem zu beheben, musste ich zu Fenster> Projekte gehen, das Rahmenprojekt auswählen (nicht das Projekt, das das Rahmenwerk verwendet hat, sondern eher das Rahmenprojekt selbst) und die abgeleiteten Daten löschen. Also volle Schritte:

  1. Produktmenü> Reinigen
  2. Halten Sie die Optionstaste> Produktmenü> Clean Build Folder ...> Clean gedrückt
  3. Menü Fenster> Projekte> Mein Framework-Projekt auswählen> Abgeleitete Daten löschen
  4. Menü Fenster> Projekte> Mein Hauptprojekt auswählen> Abgeleitete Daten löschen
  5. Beenden Sie Xcode
  6. Starten Sie Xcode neu

Wiederholen Sie Schritt 3 für alle Rahmenprojekte, die über IBDesignables verfügen und möglicherweise die Fehler verursachen.

1
Will Clarke

Ich habe keine Kakaopods verwendet, sondern diesen Fehler auf einem View-Controller erhalten, der eine importierte Klasse erweitert. Ich habe diese Fehlermeldung nur erhalten, als ich das StoryBoard auf die IphoneX-Ansicht umstellte. Es funktionierte gut für die iPhone 8-Ansicht. 

Ich habe die Projekteinstellungen von "Neues Build-System (Vorschau)" in "Standard-Build-System" geändert. Anschließend das Projekt bereinigen, und der Fehler ist verschwunden. 

Keine Ahnung warum, aber das hat das Problem für mich gelöst. 

0
mariosm

Dieser Fehler trat auf, wenn ich die Pods aktualisiert habe, während der Xcode und mein Projekt geöffnet waren.

Ich habe den Xcode heruntergefahren. Das Pod-Update wurde erneut ausgeführt. xcode neu gestartet.

fehler ist nicht wieder aufgetreten.

0
KawaiKx