web-dev-qa-db-fra.com

Fichier xcassets supprimé accidentellement du projet Xcode

Je voulais supprimer un seul dossier de la collection d'images. Cependant, j'ai réussi à jeter le fichier xcassets au complet dans la corbeille.

La méthode normale "Remettre en place" n'est pas disponible et il suffit de faire glisser le dossier supprimé vers Xcode pour générer une erreur:

"Images.xcassets" n'a pas pu être copié dans "ProjectPear" car un élément portant le même nom existe déjà.
Pour enregistrer le fichier, indiquez un autre nom, écartez-vous ou supprimez le fichier existant, puis réessayez.

Je ne suis pas sûr de savoir où se trouve cette collection dans mon projet Xcode, car le navigateur ne semble rien afficher, et la ligne de commande ne laisse aucune trace non plus. J'ai peur de déconner avec le project.pbxproj fichier, car il risque de fourber beaucoup plus que ma collection d’images.

Édition: le fait de faire glisser les fichiers du Finder à partir de la Corbeille a été un succès. Toutefois, le navigateur Xcode ne reconnaît plus - ou dans ce cas, ne reconnaît toujours pas - le fichier .xcassets. Je ne sais pas s'il faut ajouter quelque chose dans le fichier .pbxproj.

75
Aeveus

Je viens de le faire moi-même et j'ai trouvé le moyen de remédier rapidement au problème.

  1. Accédez au dossier du projet dans le Finder. Vous devriez trouver que le dossier Images.xcassets est toujours là.

  2. Déplacez-le vers un emplacement séparé, comme sur le bureau ou quelque chose d'autre. Il a toujours toutes les images et les fichiers JSON.

  3. Revenez dans Xcode et créez un nouveau catalogue d'actifs pour les images.

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

    Nommez-le Images.

  4. Quittez Xcode et retournez au Finder.

  5. Copiez les dossiers de votre ancien Images.xcassets dans le nouveau Images.xcassets répertoire de votre projet.

  6. Lancez Xcode et vous êtes de retour dans les affaires!

203
Jason Barker

Si vous ne l'avez pas complètement supprimé, vous pouvez simplement le faire glisser à partir du Finder. (Cliquez avec le bouton droit sur votre projet et sélectionnez "Afficher dans le Finder" pour vérifier)

Si tout est complètement parti, allez simplement Cmd + N -> Ressource et sélectionnez Catalogue d'actifs. Vous rajoutez ensuite vos images par glisser-déposer ou par clic droit et 'Ajouter des fichiers à ...' et vous devriez être prêt à partir.

J'espère que ça t'as aidé.

20
Finn Gaida

Aujourd'hui, avec le même problème avec Xcode Beta, je ne pouvais pas créer un nouveau catalogue d’actifs pour une raison quelconque. C’était sur un projet d’extension Watchkit Voici ce que j’ai fait pour le résoudre:

  1. Dans le Finder, j'ai copié un fichier images.x. existant dans un autre dossier de mon application sur mon bureau.
  2. Suppression du contenu de ce dossier.
  3. Copié un élément d'image supprimé (unique) de ma corbeille dans le dossier (sur mon bureau).
  4. Faites glisser le dossier entier dans mon projet en XCode.

Cela a réglé le problème et tout est rentré dans l'ordre.

3
Shachar

Si vous l'avez complètement supprimé, voici les étapes à suivre pour obtenir un nouveau Images.xcassets:

  1. Dans le navigateur, cliquez sur le projet.
  2. Accédez à: Fichier> Nouveau> Fichier> Ajouter un catalogue d'actifs> Nommez-le.
  3. Pour y ajouter AppIcon et LaunchImage:

Accédez au paramètre du projet:

  1. Dans l'onglet Général, faites défiler jusqu'à Icônes d'application et lancez les images.
  2. Cliquez sur l'option en regard de Source des icônes d'application et sélectionnez Utiliser les catalogues d'actifs.
  3. Une fenêtre s'ouvrira. Sélectionnez le nom de votre nouveau fichier Images.xcassets et cliquez sur Migrer.
  4. Sélectionnez également ajouter LaunchImage. Vous pouvez maintenant voir les nouveaux images.xcassets dans votre projet :).
2
Nupur Sharma

J'ai accidentellement supprimé la référence au dossier des ressources afin qu'elle ne soit plus visible dans Xcode. Mais lorsque j'ai vérifié à partir du Finder, le dossier d'actif était toujours dans le dossier du projet.

Si vous avez fait cela, ouvrez simplement le menu de fichier dans Xcode (depuis votre projet actuel) et tout en haut, vous pouvez ajouter des fichiers (existants) à ce projet (à nouveau) - il est écrit "Ajouter des fichiers à ..."

2
Bella

Faites un clic droit sur n'importe quoi dans votre projet et cliquez sur "Afficher dans le Finder". Cherchez un peu dans votre dossier de projet dans le Finder et vous le trouverez. Je ne suis pas sur un Mac pour le moment, ou je vous donnerais un chemin plus direct directement à l'emplacement par défaut du dossier .xcassets.

Et de toute façon, si vous ne pouvez pas copier/créer un "nouveau" dossier à cet emplacement car "un élément portant le même nom existe déjà", cela signifie que vous n'avez pas réellement supprimé le dossier. Vous venez de supprimer les références de votre projet à ce dossier dans XCode. Le dossier de votre disque dur ne va nulle part.

1
nhgrif

Généralement, la référence du fichier est supprimée de Xcode, le dossier d'origine existe toujours dans le répertoire du projet.

Cliquez avec le bouton droit de la souris sur dans le dossier de votre projet, cliquez sur "Ajouter des fichiers à" votre projet "", recherchez des actifs dans votre projet et cliquez sur Ajoutez et vous avez terminé

enter image description here

1
Ajji

[Je réalise que c'est une très vieille question de votre part @Aeveus] Toutes les réponses parlent de refaire l'ajout d'actifs. Étant donné que vous ne pouviez pas annuler, la seule étape qui manque dans votre description originale est la suivante:

Dans votre fichier project.pbxproj, il aurait été fait référence à des actifs comme ci-dessous:

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

En supposant que vous ayez un système de contrôle de code source (git, etc.), vous pouvez rétablir le contenu d'origine de votre fichier project.pbxproj, ou simplement ré-ajouter manuellement les lignes supprimées, puis rouvrir le fichier de projet dans xcode. Vous êtes tous ensemble maintenant.

1
Jey

J’ai eu le même problème et j’ai suivi les étapes ci-dessus de Jason, mais finalement j’ai eu Image.xassets en rouge, donc pour trouver mes images, je devais cliquer sur Image.xassets puis dans le coin supérieur droit, mettre le chemin absolu vers mon dossier image.xassets et cela a résolu mon problème. J'espère que ça aide!

0
Albeis