Xcode 8 - Avertissements de fichiers manquants


127

Depuis la mise à niveau vers Xcode 8 à l'aide de Swift 2.3, j'ai plusieurs avertissements de fichiers manquants. Ils sont tous liés aux pods que j'utilise.

Les fichiers manquants sont

*.xcscheme 
*.cpp
*.xcuserstate
*.swift

Les pods qui affichent des fichiers manquants sont

  • Royaume (~ 38 sur 43)
  • TextFieldEffects (~ 3 sur 43)
  • BEMCheckBox (2 sur 43)

Comment résoudre ce problème?


Avez-vous essayé pod install?
Marc-Alexandre Bérubé

@ Marc-AlexandreBérubé oui, j'ai essayé l'installation de pod à quelques reprises. Supprimé le dossier du pod et effectué une autre installation.
Alan le

Réponses:


298

Ceci est juste un bogue Xcode. Si vous supprimez ou renommez un fichier sans effectuer ensuite de validation, Xcode voit la différence entre la gitvalidation précédente et l'état actuel des choses et signale ces avertissements. Ils disparaissent dès que vous effectuez une opération git addqui inclut la suppression / le changement de nom du fichier.


25
Ajouter les fichiers à l'index ( git add) suffit, pas besoin de les valider (plus probablement le projet n'est pas prêt à être validé ...)
djromero

@djromero Merci d'avoir retrouvé cela! Souhaitez-vous que j'ajoute cela à ma réponse?
mat

@matt bien sûr, n'hésitez pas à le faire
djromero

un nouveau commit a résolu le problème pour moi.
MatterGoal

34
Pour moi, c'était aussi simple que de désactiver rapidement puis de réactiver le contrôle de source sous les préférences. Xcode> Pref> Source Control> décochez "enable source control" .... puis réactivez-le après. Et pouf! disparu!
BennyTheNerd

84

Si vous n'utilisez pas le contrôle de source xcode mais un autre client git (comme l'arborescence des sources ou le terminal), vous pouvez désactiver le contrôle de source dans Xcode et les avertissements disparaîtront.

Xcode> Préférences> Contrôle de la source et décochez " Activer le contrôle de la source "


Cela supprime-t-il alors la comparaison côte à côte pour l'ancien commit de XCode? Je suppose que oui ...
Byron Coetsee

15

J'ai essayé tous ces éléments (et bien d'autres) mais aucun d'entre eux n'a fonctionné. Après des heures à essayer divers correctifs, j'ai trouvé que la procédure suivante fonctionnait.

cd "project directory"
git add .

Vous devrez fermer XCode et le rouvrir, sinon les validations futures peuvent échouer.

J'espère que cela aide quelqu'un.


Impressionnant. Mon projet est devenu un peu compliqué en mettant à jour les pods et les avertissements sont devenus trop importants ... Cela a résolu le problème. Merci!
Colibri

8

Je résous le problème simplement par ceci:

  1. Ajouter le coupable au projet entrez la description de l'image ici

  2. Supprimer la référence entrez la description de l'image ici

Cela nettoie l'état interne de XCode et le message disparaît.


Cela fonctionne en effet. La solution de @ matt a fonctionné une fois dans certaines circonstances, mais j'ai un fichier désagréable qui ne cesse de revenir à XCode et c'est le seul moyen de s'en débarrasser.
qwerty_so

7

Que diriez - vous commiten Source Control.

Vous devrez peut-être tout d'abord afficher le contenu du "your project name".xcodeprojpaquet et le contenu du paquet project.xcworkspace, puis supprimer le xcuserdatadossier.

Si vous ne parvenez toujours pas à vous engager en raison de Impossible de communiquer avec un problème d' application d'assistance, essayez ce qui suit dans le répertoire de votre projet:

xcrun git config user.name "Your Name"
xcrun git config user.email YourEmailAddress

* N'oubliez pas de rouvrir le projet pour voir l'effet.


7

Vous pouvez résoudre le problème en cochant l'option "Ajouter et supprimer des fichiers automatiquement" dans X-Code-> Préférences-> Contrôle de la source

Voici la capture d'écran des préférences


7

Xcode 8 semble souvent manquer git addles fichiers supprimés / associés. Pour le corriger, appuyez sur Commit...dans le Source Controlmenu de Xcode , assurez-vous de vérifier ces fichiers (qui sont suivis d'un point d'exclamation!), Puis validez les modifications. Cela devrait effacer les avertissements.


5

J'ai eu ce problème plusieurs fois maintenant et finalement je l'ai eu après avoir fait des solutions de contournement laides! Je me suis assis et je l'ai suivi jusqu'à ce que j'en trouve la raison et que les références soient stockées!

Comme quelqu'un l'a déjà proposé, cela a à voir avec le contrôle de version, eh bien oui et non, dans certains cas, cela a certainement à voir avec des fichiers directement en utilisant le finder ou autre (mais pas à partir de XCode)

Voici une solution rapide qui évite beaucoup d'ennuis et de jurons!

Supprimez ce fichier: ./.xcworkspace/xcuserdata/.xcuserdatad/UserInterfaceState.xcuserstate

Et les erreurs disparaissent!


Cela a fonctionné au début, mais les fichiers manquants ont réapparu peu de temps après.
Hackmodford

4

J'ai eu le même problème. Dans mon cas, il y avait un répertoire .git dans un répertoire parent de mon projet. En supprimant ce répertoire .git parent, les erreurs ont disparu.


3

Dans mon cas, les pods ont été enregistrés dans le référentiel, générant quelques centaines d'avertissements pour "fichiers manquants". Correction du problème en supprimant les pods du repo:

git filter-branch --index-filter 'git rm --cached --ignore-unmatch Pods/*' --tag-name-filter cat -- --all

2

J'ai résolu ce problème en suivant les étapes:

  1. Effacer les données dérivées

  2. Ignorez les fichiers manquants lors de la validation, puis effectuez une validation.

  3. Construction propre

  4. Résolu..

Bon codage .. :)


1

J'ai rencontré le même problème après avoir ajouté une cellule CollectionView personnalisée (CustomCollectionViewCell) dans le projet.La même erreur s'est produite que ci-dessus. Pas besoin de supprimer le fichier à la place, nous pouvons.

Renommez le fichier manquant pour moi c'est "xCustomCollectionViewCell.xib".

Maintenant, l'erreur a disparu.

Renommez à nouveau le même fichier sous le nom d'origine "CustomCollectionViewCell.xib"


1

Cela a résolu le problème pour moi:

git reset HEAD <path-to-deleted-file-that-was-causing-the-Xcode-warning>

0

J'ai eu ce problème sur Xcode 9.3

La solution qui a fonctionné pour moi: ajoutez un espace dans le fichier, enregistrez, puis attendez que l' !état passe à M, supprimez l'espace, enregistrez.

Malheureusement, avec près de 100 fichiers à parcourir, j'ai revisité cet article, et ce commentaire de @BennyTheNerd à une réponse , m'a aidé!

Pour moi, c'était aussi simple que de désactiver rapidement, puis de réactiver le contrôle de source sous les préférences. Xcode> Pref> Source Control> décochez "enable source control" .... puis réactivez-le après. Et pouf! disparu! - BennyTheNerd 16 janvier 17 à 7:29

De plus, j'avais assez Xcode, puis j'ouvrais le même projet, puis réactivais le contrôle de la source via les préférences.

J'espère que cela t'aides!

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.