Versehentlich entfernte xcassets-Datei aus dem Xcode-Projekt


80

Ich wollte einen einzelnen Ordner aus der Bildersammlung entfernen, habe es aber irgendwie geschafft, die gesamte xcassets-Datei in den Papierkorb zu werfen.

Die normale "Zurücksetzen" -Methode ist nicht verfügbar. Wenn Sie den gelöschten Ordner einfach auf Xcode ziehen, wird ein Fehler angezeigt:

"Images.xcassets" konnte nicht nach "ProjectPear" kopiert werden, da bereits ein gleichnamiges Element vorhanden ist.
Geben Sie zum Speichern der Datei entweder einen anderen Namen ein oder verschieben Sie die vorhandene Datei oder löschen Sie sie, und versuchen Sie es erneut.

Ich bin nicht sicher, wo sich diese Sammlung in meinem Xcode-Projekt befindet, da der Navigator anscheinend nichts anzeigt und die Befehlszeile auch keine Hinweise enthält. Ich habe Angst, mit der project.pbxprojDatei herumzuspielen, da sie viel mehr durcheinander bringen könnte als nur meine Bildersammlung.

Bearbeiten: Das Zurückziehen der Dateien aus dem Papierkorb in den Finder war erfolgreich. Der Xcode-Navigator erkennt die .xcassets-Datei jedoch nicht mehr oder erkennt sie in diesem Fall immer noch nicht. Ich bin nicht sicher, ob ich der .pbxproj-Datei etwas hinzufügen soll.


Führen Sie einfach einen Befehl + Z (Rückgängig) aus. Hat mir viel Zeit gespart :)
Gokul

Antworten:


215

Ich habe das einfach selbst gemacht und herausgefunden, wie ich das Problem schnell beheben kann.

  1. Wechseln Sie im Finder zum Projektordner . Sie sollten feststellen, dass der Ordner Images.xcassets noch vorhanden ist.

  2. Verschieben Sie es an einen anderen Ort wie den Desktop oder so. Es enthält immer noch alle Bilder und JSON-Dateien.

  3. Wechseln Sie zurück zu Xcode und erstellen Sie einen neuen Asset-Katalog für Bilder.

    File > New > File... > Resource > Asset Catalog

    Nennen Sie es Bilder .

  4. Beenden Sie Xcode und kehren Sie zum Finder zurück.

  5. Kopieren Sie die Ordner aus Ihren alten Images.xcassets in das neue Images.xcassets- Verzeichnis in Ihrem Projekt.

  6. Starten Sie Xcode und Sie sind wieder im Geschäft!


Wow, ich habe gerade versehentlich meine Assets.xcassets gelöscht und es funktioniert immer noch, aber das funktioniert nicht, so dass ich keine neuen Bilder hinzufügen kann ... Ich habe überall erfolglos nach dem Ordner gesucht
Jesus Rodriguez

@JesusAdolfoRodriguez, Wenn Sie beim versehentlichen Löschen des Asset-Katalogs "In den Papierkorb verschieben" ausgewählt haben, sollten Sie den Ordner im Papierkorb finden können, es sei denn, Sie haben den Papierkorb bereits geleert.
Sean Blaney

1
Schön, für mich gearbeitet. Zu Ihrer Information für alle, die dies versehentlich gelöscht haben. Ich denke, das liegt daran, dass wir versucht haben, eine Datei im Ordner "Assets" zu löschen. Drücken Sie stattdessen einfach Löschen, um eine Datei zu löschen
Merricat

23

Wenn Sie es nicht vollständig gelöscht haben, können Sie es einfach aus dem Finder zurückziehen. (Klicken Sie mit der rechten Maustaste auf Ihr Projekt und wählen Sie "Im Finder anzeigen", um dies zu überprüfen.)

Wenn es vollständig verschwunden ist, gehen Sie einfach zu Cmd + N -> Ressource und wählen Sie Asset-Katalog. Anschließend fügen Sie Ihre Bilder per Drag & Drop oder Rechtsklick und "Dateien hinzufügen zu ..." erneut hinzu und sollten einsatzbereit sein.

Hoffentlich hilft das.


1
Danke, ich habe es geschafft, alles zurück in den Ordner zu ziehen, aber der Navigator zeigt die Datei nicht an. Gibt es eine Möglichkeit, den Navigator (oder ähnliches) zu aktualisieren?
Aeveus

Nun, Cmd + W und die Wiedereröffnung haben jemals geholfen, sind aber einen Versuch wert. Wenn Sie die Dateien im Finder gefunden haben, ziehen Sie sie einfach wieder hinein und das sollte es sein
Finn Gaida

Das Zurückziehen der Dateien verlief einwandfrei. Der Navigator erkennt die .xcassets-Datei nur nicht mehr, da sie einfach nicht sichtbar ist. Ich kann es im Finder gut finden, aber der XCode-Navigator glaubt mir nicht.
Aeveus

Das mag dumm klingen, aber für mich hatte das Neustarten von XCode und das Reinigen des Projekts die Arbeit erschreckend oft erledigt
Finn Gaida

In diesem Moment bin ich ein bisschen frustriert, daher begrüße ich alle Antworten. Ich habe bereits versucht, das Projekt neu zu erstellen und zu bereinigen und XCode neu zu starten. hat nicht geholfen. :(
Aeveus

3

Hatte heute das gleiche Problem mit Xcode Beta, konnte ich aus irgendeinem Grund auch keinen neuen Assets-Katalog erstellen. Dies war ein Watchkit-Erweiterungsprojekt. Folgendes habe ich getan, um es zu lösen:

  1. Im Finder habe ich eine vorhandene images.xcassets aus einem anderen Ordner in meiner App auf meinen Desktop kopiert.
  2. Der Inhalt dieses Ordners wurde entfernt.
  3. Kopierte ein gelöschtes (einzelnes) Image-Asset aus meinem Papierkorb in den Ordner (auf meinem Desktop).
  4. Zog den gesamten Ordner in mein Projekt in XCode.

Das hat es behoben und alles wurde wieder normal.


3

Ich habe versehentlich den Verweis auf den Asset-Ordner gelöscht, sodass er in Xcode nicht mehr sichtbar war. Aber als ich vom Finder aus nachgesehen habe, befand sich der Asset-Ordner noch im Projektordner.

Wenn Sie dies getan haben, öffnen Sie einfach das Dateimenü in Xcode (aus Ihrem aktuellen Projekt heraus) und ganz oben können Sie (vorhandene) Dateien zu diesem Projekt hinzufügen (wieder zurück) - dort steht "Dateien hinzufügen zu ...".


oder einfach per Drag & Drop aus dem Finder
djdance

2

Wenn Sie es vollständig gelöscht haben, sind dies auch die Schritte, um eine neue Images.x-Kassette zu erhalten:

  1. Klicken Sie im Navigator auf das Projekt.
  2. Gehen Sie zu: Datei> Neu> Datei> Asset-Katalog hinzufügen> Benennen Sie ihn.
  3. So fügen Sie AppIcon und LaunchImage hinzu:

Gehen Sie zur Projekteinstellung:

  1. Schieben Sie auf der Registerkarte "Allgemein" nach unten zu "App-Symbole" und starten Sie Bilder
  2. Klicken Sie auf die Option neben App Icons Source und wählen Sie Asset Catalogs verwenden
  3. Ein Fenster wird geöffnet. Wählen Sie den Namen Ihrer neuen Images.xcassets-Datei aus und klicken Sie auf Migrieren.
  4. Wählen Sie Auch LaunchImage hinzufügen. Jetzt können Sie die neuen Images.xcassets in Ihrem Projekt sehen :).

2

Normalerweise wird die Referenz der Datei aus Xcode entfernt, der ursprüngliche Ordner befindet sich noch im Projektverzeichnis.

Rechtsklick auf den Projektordner, klicken Sie auf „Dateien hinzufügen‚Ihr Projekt‘“, finden Assets in Ihrem Projekt und klicken Sie auf Hinzufügen und fertig

Geben Sie hier die Bildbeschreibung ein


1

Klicken Sie mit der rechten Maustaste auf etwas in Ihrem Projekt und klicken Sie auf "Im Finder anzeigen". Suchen Sie ein wenig in Ihrem Projektordner im Finder und Sie werden es finden. Ich bin gerade nicht auf einem Mac, oder ich würde Ihnen einen direkteren Pfad direkt zum Standardordner geben .xcassets.

Wenn Sie an diesem Speicherort keinen "neuen" Ordner kopieren / erstellen können, weil "bereits ein Element mit demselben Namen vorhanden ist", bedeutet dies, dass Sie den Ordner nicht tatsächlich gelöscht haben. Sie haben gerade die Verweise Ihres Projekts auf diesen Ordner in XCode gelöscht. Der Ordner auf Ihrer Festplatte ist nirgendwo hingegangen.


Ah, danke, ich habe den Ordner gefunden, aber es scheint, dass ihm die meisten seiner Dateien fehlen. Würdest du zufällig wissen, ob der Rest abrufbar ist?
Aeveus

Ich bin mir nicht sicher. Wenn es sich um etwas handelt, das in Ihrem Projekt enthalten war, aber jetzt nicht vorhanden ist, befindet es sich entweder irgendwo in Ihrem Projektordner im Finder oder es wurde möglicherweise in den Papierkorb verschoben.
nhgrif

1

[Mir ist klar, dass dies eine sehr alte Frage von Ihnen ist @Aeveus] In allen Antworten geht es darum, das Hinzufügen von Assets erneut durchzuführen. Da Sie nicht rückgängig machen konnten, fehlt in Ihrer ursprünglichen Beschreibung folgender Schritt:

In Ihrer Datei project.pbxproj hätte es Verweise auf Assets wie folgt gegeben:

45AE4E781C183FBA0051674F /* Assets.xcassets in Resources */ = {... 

Angenommen, Sie haben ein Quellcodeverwaltungssystem (git usw.), können Sie zum ursprünglichen Inhalt Ihrer Datei project.pbxproj zurückkehren oder die gelöschten Zeilen manuell erneut hinzufügen und die Projektdatei in xcode erneut öffnen. Sie sind jetzt fertig.


0

Ich hatte das gleiche Problem und habe die obigen Schritte von Jason befolgt, aber schließlich habe ich Image.xassets in roter Farbe erhalten. Um meine Bilder zu finden, musste ich auf Image.xassets klicken und dann in der oberen rechten Ecke die absoluter Pfad zu meinem Ordner image.xassets und mein Problem wurde behoben. Ich hoffe es hilft!

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.