web-dev-qa-db-fra.com

Avertissements de fichiers manquants après la mise à niveau vers Xcode 4

J'ai récemment effectué une mise à niveau vers Xcode 4 (ce qui est une excellente mise à niveau), mais je reçois maintenant des avertissements que je n'avais pas obtenus auparavant. J'ai regardé à travers les forums et autres SO posts mais je n'ai pas trouvé comment résoudre ce problème.

Les avertissements que je reçois sont des avertissements au niveau du projet pour un fichier manquant. Les fichiers affichés ont été supprimés de la vue du navigateur de projet (en choisissant également de supprimer du système de fichiers). Cependant, il semble toujours apparaître comme lié d'une manière ou d'une autre au projet, même si le fichier n'apparaît plus dans le navigateur de projet.

J'ai regardé autour de moi et je n'ai pas trouvé comment je peux dire à Xcode que ces fichiers ont disparu. Arrêtez de me donner des avertissements. Voici une capture d'écran que je reçois dans Xcode4, mais jamais dans Xcode 3.

Missing file warning Xcode 4

165
Scott

Ces solutions sont trop difficiles. Le problème est que vous avez supprimé le projet du système de fichiers mais SVN pense toujours qu'ils sont là. Détacher le projet de SVN fonctionnera, de même pour supprimer les dossiers .svn MAIS cela va détruire votre référentiel!

Il est beaucoup plus facile d'ouvrir la console, accédez à votre dossier ("cd/pathToYourFolder") et tapez la commande suivante:

svn delete nameOfMissingFile

Si le nom de votre fichier manquant comprend le caractère @ (par exemple, une illustration spécifique à la rétine), assurez-vous que le nom du fichier se termine par le symbole @:

svn delete [email protected]@

Pour les référentiels GIT:

git rm nameOfMissingFile

297
Sulthan

Dans XCode 4.2. + (Éventuellement 4+), vous pouvez éviter le travail manuel et la ligne de commande:

  1. Sélectionnez le projet Navigateur de projet (Commande - 1)
  2. Choisissez le menu Fichier - Contrôle de la source - Commit
  3. Dans le volet de gauche, vous avez trois icônes, sélectionnez celle du milieu - Affichage du fichier
  4. Vous verrez la liste de tous les fichiers manquants
  5. Sélectionnez-les tous et cliquez avec le bouton droit de la souris - Annuler les modifications. Cela restaurera tous les fichiers supprimés du serveur SVN et les placera dans votre dossier SVN local.
  6. Glissez-déposez ces fichiers dans le projet XCode (choisissez Tri-Date modifié dans le Finder pour les retrouver facilement)
  7. Supprimez ces fichiers correctement via XCode (sélectionnez les fichiers et cliquez avec le bouton droit de la souris sur Supprimer).
  8. Engager le projet

Et c'est tout :)

Tous ces avertissements méchants sont partis!

De plus pour Xcode 6 +: Après avoir sélectionné la vue du fichier 'icône du milieu' - vous pouvez cliquer sur la case à cocher située à gauche pour les marquer comme supprimés pour SVN lors de la prochaine validation!

55
Alex

Dans Xcode5 et Xcode6, ci-dessous les étapes ont fonctionné pour moi

Xcode -> Preferences -> Source Control -> uncheck Enable Source Control

ensuite

Xcode -> Preferences -> Source Control -> check Enable Source Control

50
Shamsudheen TK

Cela a quelque chose à voir avec les dossiers cachés .svn de votre projet.

J'ai résolu ce problème en détachant le projet de svn.

une. Ouvrez le terminal et tapez les commandes suivantes:

defaults write com.Apple.Finder AppleShowAllFiles TRUE


killall Finder

Cela vous permettra de visualiser les dossiers .svn dans votre projet.

b. Supprimer tous les dossiers .svn de vos dossiers/sous-dossiers de projets

c. Réactivez les fichiers cachés:

defaults write com.Apple.Finder AppleShowAllFiles FALSE

killall Finder

ré. Votre projet est maintenant détaché de svn et vous ne rencontrez plus de problèmes de construction.

e. Ré-ajoutez votre projet à svn ou autre.

Je suis moi-même un débutant et c'était ma façon de régler ce problème. Je ne suis donc pas sûr que ce soit la meilleure voie à suivre. Quoi qu'il en soit, le problème était résolu.

27
Robert Neagu

Cela a fonctionné pour moi:

File -> Source Control -> Hide Working Copy Status

ensuite

File -> Source Control -> Show Working Copy Status

9
Tyson

Je l'ai résolu de la manière suivante:

  1. Vérifiez le chemin d'accès au fichier manquant.
  2. Créez des fichiers manquants aux emplacements appropriés dans votre répertoire de projet
  3. Ajoutez-les à votre projet en utilisant "Ajouter des fichiers au" projet "" et créez uniquement des références (ne copiez pas les fichiers)
  4. Les avertissements devraient disparaître à ce stade.
  5. Dans Xcode, supprimez les fichiers en veillant à bien cliquer sur "Supprimer" au lieu de "Supprimer uniquement la référence" par défaut.
  6. Vous avez terminé.
6
askoric

J'ai également eu ce problème, et comme utilisateur151215 l'a décrit IS en raison des dossiers .svn.

J'avais un vieux dossier .svn, pas dans le projet lui-même, mais dans le dossier parent des projets.

le dossier .svn incriminé aura un fichier d'entrées contenant vos fichiers manquants. Vous pouvez donc utiliser Teminal et rechercher une chaîne de nom de fichier manquante, par exemple. grep -lir BagController.m votreRootDevDir/*

plus simple que d’activer les fichiers cachés dans le Finder, utilisez simplement le terminal. cd dans le répertoire correspondant, et mv .svn ~/.Trash

J'espère que cela t'aides!

4
Nick H247

J'avais ce bogue et je n'ai trouvé aucun moyen de le résoudre si ce n'est de créer un fichier vide à cette position, puis de le supprimer. C'est arrivé avec des fichiers que j'avais supprimés du projet, et le nettoyage, la construction, la suppression manuelle du répertoire de données dérivées ne fonctionnaient pas non plus. Je crois que c'est un bug, et que cela peut être assez pénible si cela se produit avec plus que quelques fichiers.

4
Jano

Allez dans le répertoire approprié et lancez:

svn revert fileName
4
Shaun McCarthy

J'ai utilisé le moyen suivant pour résoudre ce problème:

Lancez le terminal et cd dans le répertoire du projet. (ex: cd /Users/Mauro/Src/Pippero-1.2/)

Puis entrez la commande suivante:

find . -name .svn -exec rm -rf { } \;

la commande va rechercher récursivement les fichiers (et les dossiers) appelés .svn et les supprimer

3
Mauro Delrio

La désactivation de SVN dans Xcode empêche ces problèmes (en supposant que vous gérez votre référentiel avec un autre outil SVN). Voir cette question:

Pouvez-vous désactiver l'intégration du contrôle de version dans Xcode 4?

De toute évidence, cela pourrait ne pas être pratique s'il existe d'autres projets Xcode avec lesquels vous voulez utiliser SVN.

3
occulus

J'utilise svn et parviens à résoudre ce problème en

svn delete pathToMissingFile

qui va supprimer la copie svn locale du fichier manquant ainsi que la copie dans le référentiel distant.

ou

svn revert pathToMissingFile

qui va ignorer les modifications sur le fichier manquant, ce qui signifie remettre le fichier manquant là où il se trouvait.

2
Jibeex

Tout ce qui précède n'a pas fonctionné pour résoudre le même type de problème que moi. En faisant des recherches, j'ai compris que le problème que j'avais était lié à des conflits SVN.

J'ai découvert qu'il y avait des conflits en utilisant la ligne de commande:

svn status

Ensuite, tous les fichiers en conflit devaient être résolus

svn resolved filename1 filename2 ...

Une fois les conflits résolus, les avertissements ont disparu de Xcode.

1
gfrigon

C'est très simple,

Xcode -> Preferences -> Source Control -> uncheck Enable Source Control

et n'oubliez pas de faire cmd+shift+k

1
  1. Engager et pousser vos changements.
  2. Redémarrez Xcode.
1
quemeful

La réponse d'Alex a corrigé mon problème de fichiers manquants.

J'ai eu un autre problème (bien qu'il ne soit pas lié aux fichiers manquants, je pense que ce serait le meilleur sujet)

  1. Je devais copier un ensemble d'images dans mon projet.
  2. J'ai simplement créé un groupe (bien que je sache que ce groupe ne correspond pas au dossier physique) et ai fait glisser les images dans le groupe (en sélectionnant l'option "Copier dans ..").
  3. Le statut SVN les a tous montrés en "A".
  4. Maintenant, lorsque je suis entré dans le système de fichiers, j’ai trouvé que toutes les images étaient copiées dans le dossier racine de mon projet. Comme cela n’apparaissait pas bien, j’ai créé un dossier physique à l’intérieur du dossier images de mon projet et y ai copié toutes les images ajoutées.
  5. SVN a ensuite montré tous les fichiers en rouge.
  6. J'ai supprimé les références de tous les fichiers rouges.
  7. Avec l'option "Ajouter un fichier", j'ai ensuite ajouté les images du dossier nouvellement créé.
  8. Maintenant, SVN ne parvient pas à afficher le statut des fichiers en tant que "A", et je ne peux absolument pas les archiver.
  9. J'ai essayé de nombreuses étapes comme les supprimer en ajoutant de nouveau à partir d'un dossier différent, etc., mais sans succès.

J'ai corrigé cela en allant directement dans le référentiel, créer un nouveau répertoire sous images afin que le dossier physique se trouve maintenant sur le serveur SVN

J'ai ensuite pris une mise à jour du code source et le répertoire nouvellement créé se trouvait dans ma copie de travail (bien qu'il ne soit pas ajouté au projet).

J'ai ensuite copié les images dans ce répertoire et les ai ajoutées au projet à l'aide de l'option "Ajouter un fichier", ce qui m'a ramené le statut "A" et j'ai pu archiver les fichiers.

Je voulais juste partager ceci ..... parce que cela m'a pris beaucoup de temps.

-anoop

0
anoop4real

Vue d'ensemble:

Dans mon cas, il y avait un projet xcode appelé Sample dans le chemin de dossier suivant /folder1/folder2.

Il y avait un fichier .git À l'intérieur de /folder1/folder2/Sample/, Ce qui est attendu.

Cause première:

Il y avait un autre fichier .git Dans le répertoire parent (/folder1) Qui était à l'origine du problème. Les dossiers ont peut-être été supprimés en laissant derrière le fichier .git

Solution

rm -rf /folder1/.git

Indice

Si le déplacement de votre projet vers un tout nouvel emplacement corrige le problème où il n'y avait pas de fichier .git Dans les répertoires parent en haut de la hiérarchie, il est clair que la solution ci-dessus pourrait fonctionner.

0
user1046037

Je n'avais rien à faire. J'ai commis mon code et l'ai poussé. Désactivé XCODE. Tirez-le à nouveau et tout fonctionne.

0
VBaarathi

Appuyez sur Cmd + 7 après la génération et sélectionnez la dernière action de génération. Cela ressemble-t-il un peu au bon vieux Xcode? :) enter image description here

0
knuku

Ne supprimez pas le fichier directement dans votre dossier .xcode. Supprimer des fichiers du navigateur de projet xcode. (Cliquez avec le bouton droit sur ce fichier et choisissez déplacer dans la corbeille).

Maintenant, pour résoudre ce problème, ajoutez les mêmes fichiers au même emplacement. Et supprimer du navigateur de projet.

0
Gowtham R

dans mon cas

  1. J'ouvre simplement SvnX.
  2. Tous les fichiers manquants sont marqués en rouge. Sélectionnez-les et supprimez-les.
  3. Alors tous les avertissements Xcode avaient disparu.
0
Apoc