Xcode 4 "Clean" vs. "Clean Build Folder"

83

Sie kommen zu einem bestimmten Zeitpunkt in der Entwicklung jeder App, an dem das, was Sie im Simulator sehen, nicht mit dem übereinstimmt, was Ihrer Meinung nach passieren sollte. Meistens handelt es sich dabei um menschliche Fehler - oder zumindest in den meisten meiner Fälle ;-) -, aber manchmal hat Xcode einfach den Überblick verloren, oder so scheint es. Ich habe erfahren, dass die CleanMenüoptionen (Umschalt + Befehlstaste + K) und Clean Build Folder…(Option + Umschalt + Befehl + K) den Unterschied zwischen Ihrem Fehler und dem von Xcode anzeigen können.

Meine Frage ist jedoch:

Was macht der CleanBefehl oder nicht, was einen Grund für Clean Build Folder…die Existenz hinterlässt ? Wann sollte ich einen über den anderen auswählen, warum nicht immer den gesamten Ordner bereinigen?

Epologe
quelle
In dieser möglicherweise doppelten Frage finden Sie möglicherweise einige Antworten .
Michael Dautermann
1
Es mag einige versteckte Hinweise geben, aber es ist absolut keine doppelte Frage. Bei mir geht es um die Unterschiede zwischen sauberem und sauberem Build-Ordner, zwei sehr ähnlich aussehenden Befehlen. Aber danke für das Heads Up.
Epologee

Antworten:

92

Clean…Bereinigt die Ordner für das aktuell ausgewählte Ziel.
Clean Build Folder…Bereinigt die Ordner für alle Ziele.

Oliver
quelle
5
Dies ist mit diesem Apostroph in "allen Ordnern des Ziels" nicht eindeutig. Meinen Sie "die Ordner für alle Ziele oder gibt es einige andere Ordner, die dem ausgewählten Ziel zugeordnet sind?
Michael Forrest
Diese Antwort ist nicht vollständig. Clean Build Folderlöst Probleme in Projekten mit nur einem einzigen Ziel.
Basil Bourque
94

Wenn Sie Cleanim Menü Produkt auswählen , löscht XCode die Dateien in jedem Ordner im Build-Ordner. Wenn Sie Clean Build Folderdiese Option auswählen , wird der gesamte Build-Ordner gelöscht.

Nach dem CleanBefehl:

Geben Sie hier die Bildbeschreibung ein Nach dem Clean Build FolderBefehl:

Geben Sie hier die Bildbeschreibung ein

Ich denke, Sie sollten auswählen, Clean Build Folderwann Sie eine Binärdatei erstellen möchten, die Sie im AppStore veröffentlichen möchten, wann Sie Ihr Projekt durcheinander gebracht haben oder wann Ihre App aus einem "unbekannten" Grund nicht funktioniert, andernfalls verwenden Clean.

Ich hoffe, ich habe Ihre Frage beantwortet: D.

Aluminium
quelle
5
Es tut mir leid, skeptisch zu sein, aber das scheint seltsam. Wollen Sie damit sagen, dass der einzige Unterschied zwischen den beiden darin besteht, dass einer die Ordner löscht und der andere die Ordner behält, aber den gesamten Inhalt löscht? Was wäre der Unterschied, wenn vier Ordner leer wären? Es gibt jedoch einen spürbaren Unterschied zwischen dem Bereinigen und dem gelegentlichen Bereinigen von Build-Ordnern ...
Jowie
3
Ja, das ist der einzige Unterschied. Persönlich verwende ich "Clean", bevor ich eine App für den iOS-Simulator erstelle oder wenn ich seltsame Probleme mit Code und / oder XCode und "Clean Build Folder" habe, wenn ich eine App im App Store veröffentlichen möchte oder wenn ich sicher sein möchte dass meine App von Grund auf ohne Caches erstellt wird.
Aluminium
4
Ist es nur ich oder ist 'Clean Build Folder' schneller als 'Clean'?
Nicolas Miari
Für Xcode 8 hat sich etwas geändert, der BuildOrdner bleibt danach erhalten Clean Build Folder.... Offensichtlich Clean Build Folder...ist vollständiger als Clean. Ich denke jedoch, dass das Löschen eines ~/Library/Developer/Xcode/DerivedData/xxx-ABCDOrdners in einigen Fällen erforderlich ist, z. B. wenn Ihr Xcode nicht ordnungsgemäß funktioniert, wobei xxx der Name Ihres Projekts oder Arbeitsbereichs ist.
DawnSong
Immer lieben, wenn Leute zu einer alten Frage und Antwort zurückkehren, die beliebt ist und ein sehr klares Beispiel und eine Erklärung geben
Cacoon
5

Ab Xcode 10 ist 'Clean' praktisch verschwunden. Apple sagt hier :

"Das neue Build-System verwendet das Verhalten" Clean Build Folder ". Das ältere" Clean "-Verhalten wird nicht unterstützt."

user3806037
quelle
4

Wenn Sie "Bereinigen" auswählen, löscht Xcode Dateien in jedem Ordner (z. B. Produkte, Zwischenprodukte) im Ordner "Erstellen" für das aktuelle Ziel. Dateien für andere Ziele bleiben erhalten.

Wenn Sie "Build-Ordner bereinigen" auswählen, löscht Xcode den gesamten Build- Ordner, sodass nichts mehr übrig bleibt.

In den meisten Fällen funktioniert "Bereinigen" aus "unbekannten" Gründen, Sie müssen jedoch weiterhin den Erstellungsordner bereinigen, da Xcode keine Dateien im Include- Ordner im Ordner " Produkte " löscht .

Mindy
quelle
0

Einige Dateien unter ~/Library/Developer/Xcode/DerivedData/xxx-ABCD, wobei xxx der Name Ihres Projekts oder Arbeitsbereichs ist, wurden nach Ihnen Cleanoder gelöscht Clean Build Folder.... Offensichtlich Clean Build Folder...werden mehr Dateien gelöscht als Clean. Ich denke jedoch, dass das Löschen des zuvor erwähnten Ordners in einigen Fällen erforderlich ist, z. B. wenn Ihr Xcode nicht ordnungsgemäß funktioniert.

Übrigens hat sich für Xcode 8 etwas geändert, der BuildOrdner bleibt danach trotzdem erhaltenClean Build Folder...

DawnSong
quelle