it-swarm.com.de

Leeren von Caches und Bereinigen aller Ziele Xcode 4 und höher

Jonathan schlägt hier vor: Xcode enthält gelöschte .xib-Dateien! dass das Bereinigen aller Ziele und das Leeren der Caches das Problem mit Xcode einschließlich gelöschter .xib-Dateien behebt, aber ich kann keinen Weg finden, den Cache zu leeren in Xcode 4.

Wie geht das in Xcode 4?

226
Tieme

Befehl-Wahl-Umschalt-K, um den Build-Ordner zu löschen. Noch besser, beenden Sie Xcode und bereinigen Sie ~/Library/Developer/Xcode/DerivedData manuell. Entfernen Sie all den Inhalt, da es einen Fehler gibt, bei dem Xcode eine alte Version Ihres Projekts ausführt, die sich irgendwo dort befindet. (In Xcode 4.2 wird der Ordner "Abgeleitete Daten" angezeigt: Wählen Sie "Fenster"> "Organisieren" und wechseln Sie zur Registerkarte "Projekte". Klicken Sie auf den Rechtspfeil rechts neben dem Ordnernamen "Abgeleitete Daten".)

Wählen Sie im Simulator "iOS-Simulator"> "Inhalte und Einstellungen zurücksetzen".

Schließlich können Sie der Vollständigkeit halber den Inhalt von / var/folders löschen. Auch dort kommt es zu Caching.

WARNUNG: Das Löschen von / var/folders kann zu Problemen führen. Anschließend müssen Sie möglicherweise Ihr Betriebssystem reparieren oder neu installieren.

EDIT: Ich habe gerade erfahren, dass, wenn Sie Angst haben, mit / var/folders / zu kämpfen, Sie den folgenden Befehl im Terminal verwenden können, um gezielter zu löschen:

rm -rf "$(getconf DARWIN_USER_CACHE_DIR)/org.llvm.clang/ModuleCache"

BEARBEITEN: Bei bestimmten Problemen, die mit Swift zusammenhängen, hat es sich als nützlich erwiesen, ~/Library/Caches/com.Apple.dt.Xcode zu löschen. Sie verlieren viel, wenn Sie dies tun, wie Ihre Ersatzkopien der heruntergeladenen Dokumentationssätze, aber es kann sich lohnen.

507
matt

Befehl-Wahl-Umschalt-K sollte es tun. Alternativ können Sie zum Produktmenü gehen und die Optionstaste drücken. Jetzt ändert sich die Option "Bereinigen" in "Build-Ordner bereinigen ...". Wählen Sie diese Option aus.

64
sram

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. Dort können Sie alle Archive und gespeicherten Projektoptionen bereinigen. Dies half meiner Situation (ich sah alte entfernte Dateien im mainBundle).

17
mert

Zusätzlich zu den folgenden Schritten kann dieses Problem auftreten, wenn die Storyboard-Dateien Ihrer App lokalisiert sind. Führen Sie zunächst Folgendes aus:

  • Clean Build
  • Simulator zurücksetzen
  • Starten Sie Xcode neu
  • Löschen Sie Ihren DerivedData -Ordner in ~/Library/Developer/Xcode/DerivedData
  • Starte den Computer neu

Warnung : Ein zusätzlicher Schritt ist das Löschen des Inhalts (nicht des Ganzen Ordner) von /var/folders. Beachten Sie, dass dies zu ernsthaften Problemen bei Ihrer OSx-Installation führen kann und Sie möglicherweise nicht mehr in OSx booten können . In diesem Fall besteht die einzige Möglichkeit darin, OSx über die Wiederherstellungskonsole neu zu installieren.

Für mich funktionierte es schließlich, die Storyboard-Lokalisierungsdateien neu zu generieren und die englische Lokalisierung zu löschen (was nicht erforderlich war, da das Basisgebietsschema Englisch ist). Um Ihre Storyboard-Zeichenfolgen neu zu laden, siehe diese Antwort auf StackOverflow .

Ich hatte bemerkt, dass die Nicht-Text-Teile meines Storyboards aktualisiert wurden, aber nicht der lokalisierte Text. Wenn Sie eine Lokalisierung in Ihrer App haben, würde ich empfehlen, zu überprüfen, ob Ihre Lokalisierungen aktualisiert sind (auch wenn sie .strings Dateien).

16
Samuel Spencer

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 MainStoryboard.storyboard-Datei 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! :)

9
thehatisonfire

So löschen Sie alle abgeleiteten Daten und den Modulcache in /var/folders benutze dieses kleine Ruby script .

derivedDataFolder = Dir.glob(Dir.home + "/Library/Developer/Xcode/DerivedData/*")
moduleCache = Dir.glob("/var/folders/**/com.Apple.DeveloperTools*")
FileUtils.rm_rf derivedDataFolder + moduleCache

Dies löste gerade ein fatal error: malformed or corrupted AST file: 'Unable to load module "/var/folders/ Fehler für mich.

6
orkoden

Ich hatte einige Probleme mit dem Absturz von Xcode 5.1, als ich das Dokumentfenster öffnete.

Ich bin mir der Ursache nicht sicher, da ich beim Öffnen des Fensters auch Dokumente aktualisiert habe.

Nun, in Xcode 5 befindet sich das Modulverzeichnis nun im abgeleiteten Datenordner, den ich aus offensichtlichen Gründen nicht gelöscht habe. Ich habe den Inhalt von ~/Library/Developer/Xcode/DerivedData/ModuleCache und den von ~/Library/Preferences/com.Apple.Xcode.plist gelöscht und alles scheint dann zu sein funktioniert, nachdem ich Xcode neu gestartet habe.

5
McUsr

Meine "DerivedData" mit Xcode 10.2 und Mojave war hier:

MacHD/Benutzer/[MyUser]/Bibliothek/Entwickler/Xcode

1
Mahdi Moqadasi

Wenn Sie ein "Datenmodell" verwenden, gibt es im Inspektor Optionen zum Generieren von Klassen. Für mich war dies der Fall, da es bereits eine Klasse mit dem vorhandenen Namen gab.

Codegen: hat es für mich gelöst.

enter image description here

0
Wayne

Sie müssen vorsichtig mit der xib-Datei sein. Ich habe alles versucht und nichts hat für mich funktioniert. Ich habe in der xib definierte benutzerdefinierte UIButtons verwendet 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.

0
Alyoshak

Hier ist meine Shell-Skript-Lösung , die abgeleitete Daten löscht und die zwischengespeicherten Assets eines Projekts für Xcode 4, 5 und 6 bereinigt.

Manchmal führt der einfache Aufruf von rm -rf im Verzeichnis Derived Data zu ein oder zwei verweilenden Dateien, aber mein Skript wiederholt sich, bis alle Dateien gelöscht sind.

0
Sheamus

Ich habe fast alles versucht, konnte aber nicht helfen, was mir geholfen hat, war das Deaktivieren von SIP (System Integration Protection) und 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.

3.Geben Sie den folgenden Befehl in das Terminal ein und drücken Sie die Eingabetaste, um ihn auszuführen: csrutil disable

4.Sobald der Befehl ausgeführt wurde, beenden Sie das Terminal und starten Sie den Mac neu. Wenn Sie sich wieder bei OS X anmelden, wird SIP deaktiviert.

0