web-dev-qa-db-fra.com

Xcode: le problème "fichier xxx.png est manquant dans la copie de travail" à la construction du projet

Après avoir supprimé/ajouté des fichiers png au projet, j'ai reçu des messages lors de la construction du projet.

"fichier ProjectPath\aaa\xxx.png est absent de la copie de travail."

Tous ces fichiers sont dans le projet et l'application est en cours d'exécution. Cependant, ces messages sont ennuyeux. Fichier .plist regardé, mais il n'y a aucune mention de ces fichiers. Que dois-je faire pour supprimer ces messages?

265
Iban

L'avertissement disparaîtra dès que vous aurez validé vos modifications (Xcode 8).

496
Alexander Vasenin

Il semble que ce problème puisse avoir différentes causes, mais il est souvent lié au logiciel de contrôle de source.

Dans mon cas, je l'ai résolu en allant sur Git et en rajoutant les fichiers. Je veux dire exécuter la commande suivante:

git add .
97
nbloqs

Vous pouvez également désactiver le contrôle de source en décochant

Xcode -> Préférences -> Contrôle de la source -> Activer le contrôle de la source

si vous le gérez via une ligne de commande ou une autre application.

59
emrekyv

En XCode -> SoureControl:

Update + Refresh Status l'a fait pour moi.

58
coyer

Dans mon cas, le fichier manquait dans le contrôle de source.
Pour résoudre ce problème, j'ai dû supprimer ce fichier (attention, ne supprimez que le fichier manquant, pas tout votre projet):

  1. Xcode-> Contrôle de la source-> commit
  2. Clic droit sur le fichier manquant
  3. Choisissez Annuler les modifications
44
Ronen

Désactiver le contrôle de source, nettoyer le dossier de construction (Alt+Shift+Cmd+K), puis réactiver le contrôle de source.

Xcode -> Préférences -> Contrôle de la source -> Activer le contrôle de la source

19
George

Dans mon cas, Xcode avait en quelque sorte trouvé de vieux répertoires .svn qui faisaient référence aux fichiers manquants. Je devais aller en haut un niveau supérieur à mon dossier de projet pour trouver ces fichiers .svn. Une fois supprimé, j'ai redémarré Xcode et tout allait bien.

18
kubi

J'ai eu un problème similaire avec une poignée de fichiers qui avaient été supprimés depuis longtemps de mon projet Xcode alors que j'utilisais encore Xcode 7.

Ma solution était de:

  1. Créez des fichiers avec les noms dont se plaignait Xcode (ils n'ont besoin d'aucun contenu)
  2. Ajoutez les fichiers à mon projet Xcode (dans Xcode, cliquez avec le bouton droit de la souris sur le répertoire de mon projet principal, cliquez sur Ajouter des fichiers à mon nom de projet et sélectionnez les fichiers que vous venez de créer.
  3. Sélectionnez les fichiers nouvellement ajoutés et supprimez-les - sélectionnez déplacer dans la corbeille.

Cela s'est débarrassé des avertissements pour moi.

12
Gabrielle Earnshaw

Pour ajouter à la réponse d'Alexander Vasenin ...

D'abord je me suis engagé et j'ai poussé mes changements

Menu principal Xcode> Contrôle de la source> Commit

Puis j'ai annulé toutes les modifications pour me débarrasser des erreurs

Menu principal Xcode> Contrôle de la source> Annuler toutes les modifications

Après cela, les erreurs indiquant "le fichier xxx.png est manquant dans la copie de travail" ont disparu.

9
EdwardM

Cela se produit lorsque vous supprimez un fichier sur Xcode, sans le dire à svn server.

Accédez à l'outil de ligne de commande et supprimez le fichier directement.

svn delete missingFile.m 

et le commettre

svn commit -m "Deleting file"

notez que si vous supprimez le dossier .svn, l'avertissement disparaît mais vous perdez la communication avec svn server.

8
Kang Byul

J'ai eu le même problème et résolu par ajouter git. Ouvrir l'outil de ligne de commande

cd "project folder path"
git add .

Plus tard, redémarrez le projet Xcode et ouvrez votre projet à nouveau.

5
Ugur Atci

Je l'ai travaillé.

ouvrez simplement votre outil SVN tiers, trouvez les fichiers manquants, Revert; c'est tout.

5
traximus

Je devais aller manuellement dans Terminal et supprimer les fichiers avec git rm ProjectPath\aaa\xxx.png, puis valider. Après cela, tout a bien fonctionné.

4
yesthisisjoe

Afficher sur la cible -> phases de construction -> copier les ressources du bundle. et nettoyer la commande de dossier de construction + shift + alt + k

4
BHASKAR

Ceci est obtenu pour chaque projet après le passage à XCode 8. Cela a résolu le problème:

Avec la touche d’option enfoncée, Produit (dans le menu du titre) -> Nettoyer le dossier de construction.

3
TomV

Dans mon cas, les données de mes anciens projets dans le simulateur étaient erronées. Résolu par réinitialiser le contenu et les paramètres dans le simulateur:

Simulateur -> Réinitialiser le contenu et les paramètres ...

2
Channel

J'avais le même problème et je l'ai résolu en faisant simplement glisser les fichiers spécifiés du Finder dans le navigateur de projet (en veillant à ce que l'option "Copier les fichiers" soit sélectionnée dans la boîte de dialogue) et en les validant.

1
user2698617

Ces avertissements ne sont pas des avertissements de construction, ils concernent votre référentiel SVN.

Il est exact que les répertoires affichés n'existent plus, CocoaPods stocke les en-têtes dans Pods/Headers/{Private,Public} maintenant. Vous devez mettre à jour votre copie de travail pour refléter ces changements.

1
Mutawe

J'ai eu les avertissements, et ne pouvais pas non plus commettre de modifications sous XCode (en utilisant svn). Tout ce que je devais faire était de redémarrer XCode et le problème a disparu.

1
Hugh Jeffner

Cela fonctionne pour moi: Xcode -> ("option + clic") Produit -> Nettoyer le dossier de construction ...
Puis redémarrez xCode

1
Mykyta Savchuk

Pour moi, ce qui suit a fonctionné:

Étant donné que je n'utilisais pas et que je n'ai jamais utilisé Git, j'ai créé un nouveau projet (XCode 8, je ne pouvais pas voir l'habituel "utiliser Git" ou la coche était marquée). Ensuite, j'ai carrément supprimé tous les fichiers de ce nouveau projet. est allé à l'ancien projet gâché, a tout copié dans le dossier du projet, est revenu au projet nouvellement créé, a collé les vieux trucs, a ouvert ça - tous les avertissements concernant les fichiers qui n'existent plus depuis des mois ont disparu. Doigts croisés.

1
TommyTheCat

Dans mon cas, j'ai glissé et déposé un certain nombre de fichiers sur la fenêtre de mon projet Xcode pour les ajouter. Il en a fait des copies dans mon répertoire source mais ne les a pas placées à l'endroit souhaité (il les a placées à la racine de mon répertoire, je les voulais dans un sous-répertoire). Sans réfléchir, je les ai simplement saisis dans le Finder et déplacés vers le répertoire dans lequel je les voulais. Après être retourné dans la fenêtre du projet, il ne pouvait bien sûr pas les trouver; je les ai donc supprimés et ajoutés à nouveau. Après la compilation, j'ai commencé à avoir ces erreurs.

Je pensais, comme certains l'ont mentionné ci-dessus, que c'était un problème de git mais quand j'ai lancé "git ls-tree - full-tree -r HEAD" je n'ai pas vu les fichiers du tout ??

Quoi qu’il en soit, tout ce que j’ai fait était d’utiliser la commande de menu "Ajouter un fichier ..." pour ajouter chacun des fichiers à l’emplacement par défaut, effectuer une nouvelle construction, puis les supprimer de la fenêtre du projet (à l’aide de la commande déplacer dans la corbeille) et il s'est débarrassé de toutes les erreurs.

1
KevinR

Ceci est certainement lié au contrôle de source. J'ai renommé et déplacé quelques fichiers de plist non engagés et j'ai eu cette erreur. J'utilise svn. J'ai pu résoudre ce problème via Source Control - Commit en supprimant les anciens fichiers référencés.

0
Hahnemann

Dans mon cas, c'était un problème avec git et un système de fichiers insensible à la casse.

J'avais par inadvertance soumis le même fichier deux fois, en utilisant des chemins d'accès qui ne différaient que par les cas suivants:

MyProject/Resources/foo.png
MyProject/resources/foo.png

Xcode se plaignait de l'un des fichiers manquants.

Correction en supprimant les fichiers incriminés et en les rajoutant.

cd MyProject
mv Resources/foo.png /tmp
git rm Resources/foo.png
git rm resources/foo.png
git commit
mv /tmp/foo.png Resources
git add Resources/foo.png
git commit
0
Darren