web-dev-qa-db-fra.com

Xcode 6.1 & Cocaopods Integration/Dependency Error - Bibliothèque introuvable pour -lPods- {Nom du pod}

Je viens de mettre à niveau OS 10.10 Yosemite et Xcode 6 et je ne parviens pas à créer mon application iOS avec les dépendances CocoaPods.

Après avoir nettoyé et construit, je reçois un Apple Mac-O Linker Error comme indiqué ci-dessous

Ld /Users/nick/Library/Developer/Xcode/DerivedData/ToWatchList-cesjouowyxujojcvvxsvupagyozc/Build/Products/Release-iphonesimulator/ToWatchList.app/ToWatchList normal i386
    cd "/Users/nick/Dropbox/ToWatchList/ToWatchList App"
    export IPHONEOS_DEPLOYMENT_TARGET=8.0
    export PATH="/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin:/Applications/Xcode.app/Contents/Developer/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin"
    /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang -Arch i386 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator8.1.sdk -L/Users/nick/Library/Developer/Xcode/DerivedData/ToWatchList-cesjouowyxujojcvvxsvupagyozc/Build/Products/Release-iphonesimulator -F/Users/nick/Library/Developer/Xcode/DerivedData/ToWatchList-cesjouowyxujojcvvxsvupagyozc/Build/Products/Release-iphonesimulator -F/Users/nick/Dropbox/ToWatchList/ToWatchList\ App/Pods/CrashlyticsFramework -F/Users/nick/Dropbox/ToWatchList/ToWatchList\ App -filelist /Users/nick/Library/Developer/Xcode/DerivedData/ToWatchList-cesjouowyxujojcvvxsvupagyozc/Build/Intermediates/ToWatchList.build/Release-iphonesimulator/ToWatchList.build/Objects-normal/i386/ToWatchList.LinkFileList -Xlinker -objc_abi_version -Xlinker 2 -ObjC -lPods-AFNetworking -lPods-AuxRepo -lPods-CrashlyticsFramework -lPods-Reachability -lPods-SSKeychain -lPods-SVProgressHUD -lPods-Tapstream -framework CoreGraphics -framework Crashlytics -framework Foundation -framework MobileCoreServices -framework QuartzCore -framework Security -framework SystemConfiguration -framework UIKit -fobjc-arc -fobjc-link-runtime -Xlinker -no_implicit_dylibs -mios-simulator-version-min=8.0 -lz -lPods -Xlinker -dependency_info -Xlinker /Users/nick/Library/Developer/Xcode/DerivedData/ToWatchList-cesjouowyxujojcvvxsvupagyozc/Build/Intermediates/ToWatchList.build/Release-iphonesimulator/ToWatchList.build/Objects-normal/i386/ToWatchList_dependency_info.dat -o /Users/nick/Library/Developer/Xcode/DerivedData/ToWatchList-cesjouowyxujojcvvxsvupagyozc/Build/Products/Release-iphonesimulator/ToWatchList.app/ToWatchList

ld: library not found for -lPods-AFNetworking
clang: error: linker command failed with exit code 1 (use -v to see invocation)

Il semble y avoir quelque chose avec le OTHER_LDFLAGS (autres drapeaux de l'éditeur de liens) sur mon projet, car si je réorganise mes pods en allant à la cible de mon application -> Paramètres de construction -> Autres drapeaux de l'éditeur de liens et réorganise les éléments de cette liste, je peux en obtenir d'autres. générer des erreurs de l'éditeur de liens de la même manière (donc, au moins, ce n'est pas un problème avec AFNetworking). Cocoapods et xCode ne génèrent aucune autre erreur ou avertissement.

Jusqu'ici j'ai essayé:

  • Mise à jour vers la dernière version de Cocoapods avec: Sudo gem update cocoapods

  • Mettez en commentaire tous les pods de mon podfile, exécutez pod update pour les effacer, puis en les décommentant, puis exécutez pod update pour télécharger à nouveau et installer toutes les dépendances.

  • Suppression de mon dossier de pod et de mon fichier de verrouillage, puis exécution de pod install pour réinstaller les pods à partir de zéro

Malheureusement, aucune de ces étapes n'a corrigé cette erreur. Je suppose donc qu'il me faut modifier certains paramètres de construction dans mon projet, mais je ne sais pas quoi essayer par la suite.

25
Nick

Pour résoudre ce problème, j'ai dû supprimer libPods.a sous Cibles de l'application -> Général -> Cadres et bibliothèques liés . Il était surligné en rouge (ce qui signifie non fondé), mais je n'avais pas besoin de le remplacer. il suffisait de le nettoyer.

29
Nick

Vérifiez deux fois que vous ouvrez le fichier .xcworkspace et non le fichier .xcodeproj. Il s’agit là d’une erreur courante pouvant entraîner ce type de problèmes.

41
dulgan

Pour moi, le problème était que les configurations de construction de mon projet et de Cocoapod ne correspondaient pas, ce qui (je pense) signifiait qu'ils cherchaient dans des répertoires différents les bibliothèques compilées.

6
Ethan Edgerton

J'ai eu le même problème.

Mon problème était le «Construire des architectures actives» sur ma cible et ma cible Pods ne correspond pas exactement.

Après les avoir rendus identiques, le problème a été résolu.

1
Will
  1. Allez dans "Cible du projet -> Paramètres de construction -> Prétraitement -> Macros de préprocesseur". Définissez "COCOAPODS = 1" dans toutes les procédures de débogage, d'intégration et de publication sous "Macros de préprocesseur".

  2. Ajoutez ce qui suit dans "Autres drapeaux de l'éditeur de liens" sous "Cible du projet" $ Inherited - ObjC - lc ++ - all_load

  3. Avait le même problème après la mise à niveau de la cible de déploiement de 7.0 à 8.0 et l'activation de use_frameworks!

0
Bejibun