web-dev-qa-db-fra.com

CocoaPods avec XCode 6.0.1 - Comment puis-je corriger les cadres Pods apparaissant en rouge?

J'ai créé un nouveau projet dans Xcode 6.0.1 et créé le podfile suivant:

source 'https://github.com/CocoaPods/Specs'
platform :ios, '8.0'

pod 'AFNetworking', '~> 2.0'

J'ai ensuite exécuté pod install Et ouvert le xcworkspace dans Xcode. Lorsque je crée le projet, tous les frameworks apparaissent en rouge. Par exemple, dans le cadre du projet Pods, le Foundation.framework apparaît en rouge et fait référence à un chemin sur mon ordinateur qui n'existe pas:

/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS7.1.sdk/System/Library/Frameworks/Foundation.framework

Ma question est: Comment puis-je faire apparaître les frameworks en noir dans le navigateur et lier correctement mes pods à mon projet principal?

Xcode screenshot

J'ai apporté quelques modifications mentionnées dans les réponses à cette question :

  1. À l'origine, le produit libpods.a apparaissait également en rouge. J'ai corrigé cela en changeant le Chemin des produits de construction par configuration en $(BUILD_DIR)/$(CONFIGURATION) après avoir lu que quelqu'un d'autre a résolu son problème de cette façon.

  2. Je me suis assuré que mon SDK de base est iOS 8.0 sur toutes les cibles que je peux trouver.

  3. J'ai vérifié que mes architectures valides sont définies sur "arm64 armv7 armv7.1" pour toutes les cibles que je peux trouver.

21
Ryan Hoegg

J'ai eu le même problème étrange, où les bibliothèques étaient correctement reconnues sur une machine, mais pas sur une autre - là, elles étaient également en rouge.

La solution était d'ajouter la cible Pods au schéma de construction ("Produit> Schéma> Modifier le schéma ..." puis d'ajouter avec + la cible principale Pods et de la placer devant votre cible principale.) Puis clean et build le projet.

16
H6.

C'est normal, car ces cadres n'existent pas dans le chemin du projet du pod. Comme je le vois dans tmpios-> Frameworks n'apparaît dans aucun des frameworks qui sont censés exister. Choisissez votre projet, puis Target-> tmpios-> Build Phases-> Link Binary With Libraries et ajoutez-y les frameworks dont vous avez besoin.

Si vous avez toujours une erreur de compilation et ne trouvez pas de bibliothèques de pods, écrivez votre fichier pod de cette manière:

source 'https://github.com/CocoaPods/Specs'
link_with  ['tmpios', 'tmpiosTests']
platform :ios, '8.0'

pod 'AFNetworking', '~> 2.0'

Installez les pods et, dans votre projet Target-> tmpios-> Build Setting-> Other Linker Flags, ajoutez $ (hérité).

3
euthimis87

Supprimez simplement toutes les configurations du groupe de pods dans xcode et relancez l'installation du pod. Cela régénérera les fichiers xcconfigs. Assurez-vous ensuite qu'ils sont correctement définis dans le Projet> Infos> Configurations

2
OAK

J'ai eu le même problème. Il s'avère que je dois juste exécuter une mise à jour du pod avec

Sudo gem install cocoapods
0
A.J. Hernandez

J'ai eu le même problème.Et résolu en changeant le chemin du `` cadre rouge '' .Parce que le chemin montre `` SDK IOS9 '' auparavant.J'ai donc défini l'emplacement du cadre `` par rapport au SDK '' et choisissez manuellement le bon emplacement du cadre. fonctionne temporairement.

enter image description here

Je suppose que la raison en est que j'ai mis à jour Xcode 8, mais mes coacopodes sont toujours une ancienne version, donc il a défini l'emplacement avec IOS9, ce qui cause ce problème.

0
Roger.L