Comment supprimer la reference du file Xcode?

J'avais retiré quelques files de mon projet iOS il y a quelque time et je pensais qu'ils avaient été complètement supprimés. Après un long moment, j'ai créé une autre class qui avait malheureusement le même nom que l'une de celles que j'avais retirées de mon projet (mais la reference et le file n'avaient pas été supprimés).

Pour rendre la longue histoire courte, mon projet a essayé d'utiliser la reference à l'ancien file, donc je suis passé par finder pour supprimer les files en conflit. Cela a résolu la question de savoir quelle class faisait reference. Mais la reference aux files supprimés provoque un avertissement dans Xcode me donnant un message de file manquant.

Est-ce que quelqu'un sait comment je peux supprimer les anciennes references afin de se débarrasser de cet avertissement?

Comme la reference à ces files devait être supprimée, j'ai essayé de créer à nouveau les files sous le même nom que ceux que j'avais retirés manuellement et les ai supprimés à nouveau via Xcode et j'ai sélectionné les references supprimées de la window contextuelle.

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

  • supprimer le sous-projet (reference)
  • projet propre
  • fermer xcode
  • supprimer toutes datatables dérivées et en cache avec ce script exécuté dans l'outil applescript:

    tell application "Terminal" do script "rm -frd ~/Library/Developer/Xcode/DerivedData/*" do script "rm -frd ~/Library/Caches/com.apple.dt.Xcode/*" end tell 

Dans mon cas, l'ajout et la suppression des frameworks externes et l'utilisation de Clean n'ont pas résolu le problème. Aller à la cible> Construire les parameters> Rechercher les paths et supprimer les paths fautifs des paths de search de la structure et des paths de search de la bibliothèque a fait l'affaire.

Pour être à l'abri de cette erreur, assurez-vous d'avoir supprimé la Remove Reference sur le file avant d'apporter des modifications (en dehors de XCode) sur ce file, comme la suppression dans le dossier, le changement de nom, etc.

Pour supprimer la reference, dans XCode, faites un clic droit sur le file puis sur Delete . Une window contextuelle vous request si vous souhaitez move to trash ou remove reference . Cependant, ce popup ne s'affichera pas si vous avez effectué des modifications avant de faire Supprimer sur XCode.

Juste un conseil!

J'ai frappé le même problème aujourd'hui. En raison du problème de fusion git, je me suis retrouvé avec un file image supprimé, mais la reference existe toujours. Pour clarifier, Mon intention était d'enlever l'image.

Le moyen simple de résoudre ce problème serait d'utiliser vim, ou d'autres éditeurs de text

 vim PATH_TO_PROJECT/{#projectName}.xcodeproj/project.pbxproj 

et faites une search sur le nom du file que vous avez supprimé et effacez simplement tous les résultats de search.