web-dev-qa-db-fra.com

Pod Update supprime les "fichiers de soutien cibles"

Certes, cela fait longtemps que je n'ai pas mis à jour mon pod sur mon projet. Aujourd'hui, j'essayais justement de faire cela et je me heurte à des problèmes.

Après avoir exécuté une «mise à jour de pod», le projet ne sera pas compilé. Voici ce que j'ai remarqué. La mise à jour elle-même semble fonctionner correctement, comme d'habitude. J'ai remarqué que tous les fichiers de «Pods/Target Support Files» ont été supprimés. 

Lorsque j'essaie de construire, j'obtiens une erreur comme celle-ci pour la plupart de mes pods:

lang: error: no such file or directory: '/Users/logan/development/ProjectNameRemoved/src/Pods/Target Support Files/Pods-AJNotificationView/Pods-AJNotificationView-dummy.m'

clang: error: no input files

Quand je vais aux phases de construction des pods avec cette erreur, je peux voir que le fichier factice .m est toujours dedans, même s'il n'existe pas:  dummy file

Supprimer tout cela ne semble pas aider car je commence à avoir les erreurs suivantes:

 second error

En creusant dans les paramètres de la cible, je peux voir que l'en-tête du préfixe GCC est toujours configuré pour utiliser un fichier pch inexistant:

 prefix header

Je ne sais pas trop où aller à partir d'ici. Il semble que la mise à jour du pod supprime certains fichiers, mais mon pbxproj n'est pas mis à jour pour corréler ces modifications. Dois-je savoir comment faire cela manuellement?

J'utilise actuellement XCode7 et CocoaPods 0.38.2

15
LLooggaann

J'ai rencontré ce problème lors de la refactorisation d'un projet. Après avoir retiré un CocoaPod, j'en ai eu des restes qui ont été référencés. Le nettoyage des caches et la reconstruction n'ont pas résolu le problème.

J'ai pu résoudre le problème en utilisant cocoapods-deintegrate référencé dans le commentaire de l'utilisateur ci-dessus.

Étapes à suivre pour résoudre:

  1. Fermez le projet dans Xcode afin que Xcode ne vous avertisse pas des différences entre les versions (en supposant que vous utilisez le contrôle de version, ce qui est une bonne idée si vous jouez avec CocoaPods).

  2. Installez cocoapods-deintegrate en tapant Terminal :

    gem install cocoapods-deintegrate

  3. Tapez pod deintegrate dans le répertoire de votre projet.

  4. Ouvrez le projet dans Xcode, nettoyez les caches et reconstruisez. Votre Podfile devrait toujours être là ... laissez-le tranquille . Nous y reviendrons dans un instant.

  5. Fermez le projet.

  6. Tapez pod install

  7. Ouvrez le projet, nettoyez les caches et reconstruisez.

Ce sont les étapes que j'ai suivies pour résoudre ce problème .

Mise à jour:

J'ai également utilisé cette méthodologie pour résoudre une erreur de l'éditeur de liens qui s'est produite lorsque j'ai supprimé une référence à un fichier de classe au lieu du fichier lui-même. En faisant cela, j'ai eu cette erreur:

erreur: la commande de l'éditeur de liens a échoué avec le code de sortie 1 (utilisez -v pour voir l'invocation )

19
Adrian

Pouvez-vous voir si la réponse dans ce post peut aider?

Installation de Xcode sur OSX 10.9 - clang: erreur: aucun fichier d'entrée

Je voudrais essayer de reconstruire mon projet.

0
Patrice Gagnon

Je viens de recevoir la même chose après avoir reconfiguré mon podfile pour prendre en charge plusieurs cibles. J'allais juste utiliser la réponse suggérée ci-dessus, mais avant de faire quoi que ce soit, j'ai validé mes modifications dans git. Cela a résolu le problème. Le commit git incluait beaucoup de suppressions de fichiers et d’additions effectuées par les cocoapods, donc je suppose que certaines choses traînaient encore.

0
George Brown