11
votes

Comment supprimer la référence du fichier Xcode?

J'avais supprimé certains fichiers de mon projet iOS un peu de temps et pensais qu'ils avaient été complètement supprimés. Après une longue période, j'ai créé une autre classe qui a malheureusement eu le même nom que l'un de ceux que j'avais retiré de mon projet (mais la référence ni le fichier n'avait été supprimé).

Pour faire une longue histoire courte, mon projet a essayé d'utiliser la référence à l'ancien fichier. J'ai donc suivi le Finder pour supprimer les fichiers contradictoires. Cela a résolu la question de laquelle la classe était en cours de référence. Mais la référence aux fichiers supprimés provoque un avertissement en Xcode, ce qui me donne un message de fichier manquant.

Est-ce que quelqu'un sait comment je peux supprimer les anciennes références afin de vous débarrasser de cet avertissement?


8 commentaires

Pouvez-vous ne pas voir la référence nulle part? Vérifié chaque groupe?


Non, aucune autre classe fait référence à ces fichiers. Il semble que le projet tient une trace de tous les fichiers compilés à un moment ou à un autre et stocke la référence.


Et je suppose que vous avez essayé de faire une propreté?


Je viens de le faire, et ça n'a pas fonctionné non plus.


Qu'est-ce qu'une recherche des anciens fichiers rendez-vous? Essayez d'ouvrir le dossier de projet via un éditeur de texte distinct et effectuez une recherche de texte des noms des anciens fichiers.


Rien, j'ai supprimé les fichiers manuellement. Le problème est arrivé lorsque je les ai supprimés du projet, aucun message ne s'est affronté en ce qui concerne les références de supprimer uniquement, supprimer, annuler, options qui apparaissent généralement lorsque vous cliquez avec le bouton droit de la souris sur un fichier et supprimez-le. Aujourd'hui, lorsque j'ai examiné le dossier de projet de Finder, j'ai vu ces fichiers que je pensais avoir supprimé un moment de retour, alors je me suis allé et les avez supprimés de mon système, mais le projet pense toujours qu'ils sont là, et ils ne sont nulle part sur mon système.


Désolé, pas une recherche des anciens fichiers, une recherche dans les fichiers de projet pour les noms des anciens fichiers. Si Xcode mentionne ces fichiers, les références doivent figurer dans certains des fichiers de projet. Si la référence est stockée dans le texte clair, vous devriez pouvoir le trouver.


Cela fonctionne définitivement. Créez le fichier à nouveau et supprimez via Xcode. -Merci


6 Réponses :


17
votes

Étant donné que la référence à ces fichiers devait être supprimée, j'ai essayé de créer à nouveau les fichiers sous le même nom que ceux que j'avais supprimés manuellement et les supprimé à nouveau via XCode et sélectionnés supprimer des références de la fenêtre contextuelle.


5 commentaires

Merci! :) hmmm .. mais y a-t-il une autre façon?


Pouvez-vous ne pas trouver ces fichiers dans le dossier actuel de votre projet?


@Johnk Vous n'avez pas besoin du fichier réel en Xcode. Ce dont vous avez besoin est le nom du fichier et le chemin. Vous pouvez les trouver dans le navigateur de numéro de Xcode (cliquez sur le symbole «ATTENTION» «ATTENTION» dans le volet NAVIGATOR) dans le cadre du message d'avertissement. Utilisez Finder, XCode, TextEdit ou toute application de votre choix pour copier un fichier existant ou créer un nouveau fichier à cet emplacement avec ce nom de fichier. L'avertissement que le fichier est manquant devrait maintenant partir. Retour en Xcode, utilisez Fichier-> Ajouter des fichiers à "Nom de projet" ... Pour ajouter ce fichier à votre projet, puis sélectionnez le fichier et supprimez-le.


Ceci reste un problème dans Xcode 8.3.2. Et cette solution fonctionne toujours.Après de renommer un fichier que je ne pouvais pas vous débarrasser de la référence en GIT et le message d'avertissement manquant de fichier. Dupliquiez le fichier renommé, renommé au nom d'origine, ajouté à Xcode et l'a supprimé. Plus tard, j'ai trouvé ceci: Stackoverflow.com/a/5379013/4946476 , encore une meilleure solution.


Merci! Semble jolie pirate. J'aimerais pouvoir supprimer la référence après avoir supprimé le fichier mais Xcode est un peu trop capricieux et contrôlant pour cela.



1
votes

Pour être en sécurité à partir de cette erreur, assurez-vous de vous Supprimer la référence sur le fichier avant de faire des modifications (extérieures xcode) sur ce fichier, telles que la suppression dans le dossier, le renommage, etc.

Pour supprimer Référence, en Xcode, cliquez avec le bouton droit de la souris sur le fichier, puis Supprimer . Une fenêtre contextuelle montrera demander si vous souhaitez passer à la corbeille ou Supprimer la référence . Cependant, cette popup ne montrera pas si vous avez apporté des modifications avant de supprimer sur Xcode.

juste un conseil!


0 commentaires

4
votes

Dans mon cas, ajoutez et supprimez les cadres externes et utiliser Netty n'a pas résolu le problème. Aller à la cible> Construire des paramètres> Les chemins de recherche et supprimer les chemins incriminés des chemins de recherche-cadre et des chemins de recherche de bibliothèques ont fait l'affaire.


0 commentaires

3
votes

Je frappe le même problème aujourd'hui. En raison de la question de la fusion GIT, j'ai fini par suivre un fichier d'image supprimé, mais il existe toujours. Pour clarifier, mon intention était de supprimer l'image.

Le moyen simple de résoudre ce problème utiliserait VIM ou d'autres éditeurs de texte xxx

et faire une recherche sur le Nom du fichier que vous avez supprimé et supprimez simplement tous les résultats de recherche là-bas.


0 commentaires

11
votes

Après avoir retiré un sous-projet, le cadre a toujours été référencé dans mon code. Pour supprimer ce cadre, j'ai dû faire ces étapes:

  • Supprimer la sous-projet (référence)
  • Projet propre
  • Fermer Xcode
  • Supprimez toutes les données dérivées et mises en cache avec ce script exécuté dans AppleScript Tool: XXX


1 commentaires

J'ai supprimé le sous-projet, le projet nettoyé, le xcode fermé, l'ouverture de xcode et la référence existaient toujours, devait exécuter le script de Fjohn pour supprimer la référence.



2
votes

aller à projet > Phases de construction > Ressources de compilation et sélectionnez la classe référencée et frapper "-". Ceci supprimera la référence et la construction De nouveau.


0 commentaires