Jonathan schlägt hier vor: Xcode Enthält gelöschte .xib-Dateien! Wenn Sie alle Ziele bereinigen und die Caches leeren, wird das Problem mit Xcode behoben, einschließlich gelöschter XIB-Dateien. Ich kann jedoch keine Möglichkeit finden, den Cache in Xcode 4 zu leeren.
Wie geht das in Xcode 4?
Antworten:
Befehl-Option-Umschalt-K, um den Build-Ordner zu bereinigen. Beenden Sie Xcode noch besser und bereinigen Sie ~ / Library / Developer / Xcode / DerivedData manuell. Entfernen Sie den gesamten Inhalt, da es einen Fehler gibt, bei dem Xcode eine alte Version Ihres Projekts ausführt, die sich irgendwo dort befindet. (Xcode 4.2 zeigt Ihnen den Ordner Abgeleitete Daten: Wählen Sie Fenster> Organizer und wechseln Sie zur Registerkarte Projekte. Klicken Sie auf den Rechtspfeil rechts neben dem Ordnernamen Abgeleitete Daten.)
Wählen Sie im Simulator iOS Simulator> Inhalt und Einstellungen zurücksetzen.
Der Vollständigkeit halber können Sie den Inhalt von / var / folders löschen . Dort findet auch etwas Caching statt.
WARNUNG: Das Löschen von / var / -Ordnern kann zu Problemen führen. Möglicherweise müssen Sie anschließend Ihr Betriebssystem reparieren oder neu installieren.
BEARBEITEN: Ich habe gerade erfahren, dass Sie, wenn Sie Angst haben, sich mit / var / folders / auseinanderzusetzen , den folgenden Befehl im Terminal verwenden können, um gezielter zu löschen:
BEARBEITEN: Für bestimmte Swift-bezogene Probleme fand ich es nützlich, ~ / Library / Caches / com.apple.dt.Xcode zu löschen . Sie verlieren dabei viel, wie Ihre Ersatzkopien der heruntergeladenen Dokumentationssätze, aber es kann sich lohnen.
quelle
Command-Option-Shift-K sollte es tun. Alternativ gehen Sie zum Produktmenü und drücken Sie die Optionstaste. Jetzt ändert sich die Option "Bereinigen" in "Bereinigungsordner bereinigen ..." und wählen Sie diese Option aus.
quelle
Zusätzlich zu den folgenden Schritten kann dieses Problem auftreten, wenn die Storyboard-Dateien Ihrer App lokalisiert sind. Führen Sie zunächst alle folgenden Schritte aus:
DerivedData
Ordner in ~ / Library / Developer / Xcode / DerivedDataWas für mich schließlich funktionierte, war das erneute Generieren der Storyboard-Lokalisierungsdateien und das Löschen der englischen Lokalisierung (die nicht benötigt wurde, da das Basisgebietsschema Englisch ist). Informationen zum erneuten Laden Ihrer Storyboard-Zeichenfolgen finden Sie in dieser Antwort auf StackOverflow .
Ich hatte festgestellt, dass die Nicht-Text-Teile meines Storyboards aktualisiert wurden, nicht jedoch der lokalisierte Text. Wenn Ihre App eine Lokalisierung enthält, würde ich empfehlen, zu überprüfen, ob Ihre Lokalisierungen aktualisiert wurden (auch wenn es sich um
.strings
Dateien handelt).quelle
/var/folders/
schwerwiegende Probleme verursachen und dazu führen kann, dass OSx vollständig von der Wiederherstellungskonsole neu installiert werden muss!Ich habe zusätzlich zu Befehl + Option + Umschalt + K einen anderen Weg gefunden. In XCode 4.2 gibt es einen Organizer, der über das Symbol oben rechts geöffnet werden kann. Von dort aus können Sie alle Archive und gespeicherten Projektoptionen bereinigen. Dies half meiner Situation (ich sah alte entfernte Dateien im mainBundle).
quelle
Ich habe mir die Haare aus dem Kopf gezogen, weil ich dachte, ich hätte das gleiche Problem. Beim Erstellen der App habe ich auf meinem iPhone nicht das gleiche Ergebnis erzielt wie auf dem Simulator.
Das Problem war, dass ich irgendwie eine lokalisierte Version der Datei MainStoryboard.storyboard erstellt hatte. Als ich die App auf meinem Handy ausführte, zeigte sie die dänische Version ... und der Simulator zeigte die englische Version.
Ja ich bin neu! :) :)
quelle
/var/folders
Verwenden Sie dieses kleine Ruby-Skript, um alle abgeleiteten Daten und den verwendeten Modul-Cache zu löschen .Dies hat gerade einen
fatal error: malformed or corrupted AST file: 'Unable to load module "/var/folders/
Fehler für mich behoben .quelle
Ich hatte einige Probleme mit Xcode 5.1, als ich das Dokumentfenster öffnete.
Ich bin mir der Ursache nicht sicher, da ich auch Docsets aktualisiert habe, während ich das Fenster geöffnet habe.
Nun, in Xcode 5 befindet sich das Modulverzeichnis jetzt im abgeleiteten Datenordner, den ich aus offensichtlichen Gründen nicht gelöscht habe. Ich habe den Inhalt von ~ / Library / Developer / Xcode / DerivedData / ModuleCache und ~ / Library / Preferences / com.apple.Xcode.plist gelöscht und alles scheint dann zu funktionieren, nachdem ich Xcode neu gestartet habe.
quelle
Bei Verwendung eines "Datenmodells" gibt es im Inspektor Optionen zum Generieren von Klassen. Für mich war dies der Fall, da bereits eine Klasse mit dem vorhandenen Namen vorhanden war.
Codegen: hat es für mich gelöst.
quelle
Meine "DerivedData" mit Xcode 10.2 und Mojave war hier:
MacHD / Benutzer / [MyUser] / Bibliothek / Entwickler / Xcode
quelle
Sie müssen vorsichtig mit der xib-Datei sein. Ich habe alles versucht und nichts hat bei mir funktioniert. Ich habe benutzerdefinierte UIButtons verwendet, die in der xib definiert sind, und festgestellt, dass dies möglicherweise damit zusammenhängt, dass ich dort Attribute zugewiesen habe, die sich nicht programmgesteuert ändern. Wenn Sie dort Bilder oder Text definiert haben, entfernen Sie diese. Als ich das tat, begannen meine programmatischen Änderungen wirksam zu werden.
quelle
Hier ist meine Shell-Skriptlösung , die abgeleitete Daten löscht und die zwischengespeicherten Assets eines Projekts für Xcode 4, 5 und 6 bereinigt.
Manchmal hinterlässt das einfache Aufrufen von rm -rf im Verzeichnis Derived Data ein oder zwei verbleibende Dateien, aber mein Skript wird wiederholt, bis alle Dateien gelöscht sind.
quelle
Ich habe fast alles versucht, konnte aber nicht helfen. Was mir geholfen hat, war das Deaktivieren von SIP (System Integration Protection). Es funktioniert. Ich weiß nicht, was wann und wie passiert, aber die Systemdatei wird irgendwo verwirrt und verursacht dies ... obwohl es Risiken geben könnte dies offensichtlich zu deaktivieren
hier ist, wie
1.Schalten Sie Ihren Mac ein und halten Sie die Tasten [Befehl] + [R] gedrückt, um auf die Wiederherstellungspartition zuzugreifen.
2. Klicken Sie in der Wiederherstellungspartition in der Menüleiste auf Dienstprogramme und wählen Sie dann Terminal aus.
3.Geben Sie den folgenden Befehl in Terminal ein und drücken Sie die Eingabetaste, um ihn auszuführen: csrutil disable
4. Sobald der Befehl ausgeführt wurde, verlassen Sie das Terminal und starten Sie den Mac neu. Wenn Sie sich wieder bei OS X anmelden, wird SIP deaktiviert.
quelle