web-dev-qa-db-fra.com

Erreur: bibliothèque introuvable pour -lPods avec CocoaPods

après avoir installé DTCoreText ( https://github.com/Cocoanetics/DTCoreText ) avec Cocoapods, je reçois toujours une erreur lorsque j'essaie d'exécuter le simulateur ou l'appareil!

ld: warning: directory not found for option '-L/Users/example/Desktop/ios/Pods/build/Release-iphoneos'
ld: warning: directory not found for option '-L/Users/example/Desktop/ios/Pods/build/Debug-iphoneos'
ld: library not found for -lPods-example
clang: error: linker command failed with exit code 1 (use -v to see invocation) 

dans mon "Link Binary With Libraries", la partie "libPods" est en rouge:

enter image description here

Voici mes paramètres de construction:

Les paramètres de mon projet:

enter image description here

Les paramètres de mes pods:

enter image description here

MODIFIER:

Je ne sais pas trop quel était le problème, mais je l’ai résolu en supprimant tous les fichiers DTCoreText et Cocoapods et en ré-installant tout à nouveau!

29
Davis

Suggérez ce qui suit a fonctionné pour moi:

a) Recherchez dans 'Bibliothèque' dans la vue Paramètres de la cible et double-cliquez pour vérifier la valeur de Library Search Paths.

b) Il existe deux valeurs répertoriées $(inherited) et $(PROJECT_DIR)/Pods/build/Debug-iphoneos. Supprimer le dernier.

c) Faire un nettoyage complet, construire et exécuter

d) Exécutez à nouveau pod install. Notez que l'entrée n'est pas restaurée.

48
gemmakbarlow

Aussi cela peut aider: 

  1. Dans votre projet principal (pas de Pods), sélectionnez la cible principale
  2. Accédez au Build Phases tab
  3. Aller à Link Binary with Libraries
  4. Supprimez la bibliothèque à l'origine du problème (elle serait probablement de couleur rouge)
35
kudinovdenis

Dans mes fichiers binaires liés, j'avais à la fois libPods.a et libPods-MyProj.a. J'avais précédemment mis à jour mon fichier Podfile afin qu'il comporte DEUX cibles distinctes (pour compiler des tests dans Swift avec un pontage), ce qui m'a obligé à supprimer manuellement l'ancienne dépendance lidPods.a.

25
bobics

Assurez-vous d’ouvrir le fichier .xcworkspace et non le .xcodeproj.

23
Hsm

J'ai trouvé que $(inherited) était absent de mon autres drapeaux de lieur build. L'application de cette option a corrigé un problème de bibliothèque manquant que je voyais. 

8
John Dunne

J'ai constaté que la sélection de "Rechercher les dépendances implicites" (sous le modèle produit/modification) résoudrait ce problème au lieu de devoir ajouter des modules comme cible.

5
StackRunner

Recherchez "Chemin de recherche de la bibliothèque" dans la page Paramètres de construction de votre cible. changer le nom du dossier Debug de Debug-iphoneos à Debug-iphonesimulator

4
Kent Ke

Pour moi, l'erreur était la suivante: la cible Pods ne contenait pas la tranche d'architecture requise pour i386. J'ai donc cliqué sur le projet Pods -> cible Pods-ProjectName, et dans Paramètres de construction, vous avez activé Construire l'architecture active uniquement sur NO pour les deux Debug et Release . Cela garantit que les tranches Simulator et Device sont générées. Le simulateur utilise l'architecture i386 et les périphériques réels utilisent x86-64. Vous devez donc vous assurer que toutes les cibles dépendantes de tous les projets dépendants construisent les deux, si vous souhaitez également exécuter le chargement sur Simulator et le chargement latéral sur les périphériques. 

2
FranticRock

Assurez-vous que la bibliothèque de pods manquants est réellement construite. Pour ce faire, ouvrez le schéma de construction

Product > Scheme > Edit Scheme... > Build

ajoutez la cible Pods et mettez-la devant la cible qui se plaint de l'absence de la bibliothèque (dans mon cas, c'étaient les tests d'interface utilisateur - je me suis débattu pendant des heures ...)

2
Thomas Köhn

Il y a tellement de raisons qui ont causé ce problème.

Nous devons vérifier:

  • Paramètre de construction $(inherited)
  • Détecter toutes les dépendances implicites
  • .......

Dépannage: http://guides.cocoapods.org/using/troubleshooting.html

2
Tony

Lorsque vous utilisez une extension d'application, accédez à la cible de l'extension et filtrez-vous dans Chemin de recherche de la bibliothèque, supprimez le chemin que le compilateur vous avertit.

0
tounaobun