web-dev-qa-db-fra.com

Avertissement Cocoapods - CocoaPods n'a pas défini la configuration de base de votre projet car votre projet a déjà un jeu de configuration personnalisé.

Après avoir exécuté un pod install à la base de mon projet, le message d'erreur suivant s'affiche:

CocoaPods n'a pas défini la configuration de base de votre projet car votre projet a déjà un jeu de configuration personnalisé. Pour que l'intégration de CocoaPods fonctionne, définissez les configurations de base de la cible BluePlaquesLondonFramework sur Pods/Target Support Files/Pods/Pods.debug.xcconfig ou incluez le Pods/Target Support Files/Pods/Pods.debug.xcconfig dans votre configuration de construction.

Cela ressemble probablement à une question idiote, mais comment puis-je définir la configuration de base d'une cible?

https://github.com/seanoshea/BluePlaquesLondon/blob/ios8/Podfile est le fichier podfile qui est à l'origine de ce problème.

http://github.com/seanoshea/BluePlaquesLondon sur la branche iOS 8 est le fichier podfile en question si vous êtes curieux de voir à quoi ressemble le projet.

316
seanoshea

J'ai eu le même problème, mais dans Xcode 6.1.1 - ce qui a été résolu pour moi a été de changer le paramètre du fichier de configuration en None pour les deux cibles liées aux pods, puis de relancer pod install.

Le paramètre de fichier de configuration est trouvé en sélectionnant le projet (pas la cible), puis l'onglet Info.

567
TimD

Allez dans XCode et ouvrez les paramètres de votre projet et sous l'onglet Info, vous verrez "Configurations" où vous pouvez définir un fichier de configuration pour Debug et Release. Vous avez apparemment déjà défini ces paramètres sur une configuration personnalisée et CocoaPods veut/a besoin de vous pour utiliser la configuration de Pods.

Here's a screen shot

136
quark

Ne bricole pas, réinitialise.

Pas à pas

  1. Afficher le navigateur de projet
  2. Sélectionner un projet
  3. Sélectionnez Info
  4. Dans Configurations , sélectionnez-les un par un (Debug, ApplicationUnitTest, Release, etc.) et, pour chaque cible de cette configuration, définissez-en la configuration. to Aucun .
  5. Assurez-vous que Basé sur le fichier de configuration lit 0 Jeu de configurations ou Aucune configuration Définissez pour chaque configuration . C'est le point crucial. 0 Configurations Set
  6. Quitter Xcode
  7. rm -rf Pods/ Podfile.lock ; pod install

Une fois que vous avez autorisé pod install à l'étape 7 à faire des choses magiques, vous pourrez peut-être utiliser une configuration personnalisée et modifier vos configurations.

133
SwiftArchitect

Couru dans le même problème. Cela s'appuierait sur le simulateur mais pas sur mon appareil. Aucune des réponses n'a résolu ceci pour moi. Voici ce que j'ai fait en assemblant des réponses:

  1. Modification de mon fichier de pods pour utiliser une cible spécifique:

    target :MyProject do
        pod 'AWSCognitoSync'
        pod 'Facebook-iOS-SDK'
    end
    
  2. Ran pod installer

  3. Cela donne une erreur: [!] CocoaPods did not set the base configuration of your project because your project already has a custom config set. In order for CocoaPods integration to work at all, please either set the base configurations of the target `MyProject` to `Pods/Target Support Files/Pods-MyProject/Pods-MyProject.debug.xcconfig` or include the `Pods/Target Support Files/Pods-MyProject/Pods-MyProject.debug.xcconfig` in your build configuration.
  4. Allez dans Paramètres du projet et cliquez sur l'onglet Info. Il y aura une erreur où il ne peut pas trouver le fichier de configuration. Définissez-le sur "Aucun" pour le débogage et la libération.
  5. Lancez encore l'installation du pod
  6. Nettoyer et construire. Cela marche.
68
Chris Fellows

Vous devez également vous assurer que vous n'avez pas de pod dans la racine de Podfile, vous devez définir tous les pod utilisés dans de nombreuses cibles comme celle-ci:

def shared_pods
  pod 'ReactiveCocoa', '~> 2.5'
end
target 'app' do
  shared_pods
  pod 'RestKit'
end
target 'tests' do
  shared_pods
  pod 'OCMock'
end

Vous devrez peut-être également supprimer libPods.a et libPods-app.a des dépendances cibles, effectuer un nettoyage, puis réexécuter pod install.

16
ReDetection

Je viens de rencontrer ce problème après avoir ajouté des configurations de construction personnalisées. Je pouvais voir ci-dessous:

Pods (target) > Target Support Files > Pods

qu'il avait créé les nouveaux fichiers xcconfig correspondant aux nouvelles configurations de construction, mais pour une raison quelconque, je ne pouvais pas les sélectionner dans la cible de projet de mon application.

Ce qui a résolu le problème pour moi était d'installer et d'utiliser cocoapods-deintegrate :

gem install cocoapods-deintegrate

puis lancez:

pod deintegrate

suivi par:

pod install
9
Hodson

La ligne dans le podfile qui génère un problème est: link_with ['BluePlaquesLondon', 'BluePlaquesLondonFramework'].

Faites juste ceci: link_with ['BluePlaquesLondon'] ou ceci (cela a fonctionné dans mon cas, espérons que ce sera le cas dans le vôtre :-)):

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

xcodeproj 'BluePlaquesLondon.xcodeproj'
inhibit_all_warnings!
link_with ['BluePlaquesLondon']

def import_pods

     pod 'TTTAttributedLabel', '~> 1.10.1'
     pod 'GoogleAnalytics-iOS-SDK', '~> 3.0.9'
     pod 'Google-Maps-iOS-SDK'
     pod 'IntentKit'
     pod 'HCViews'
     pod 'SVProgressHUD', :head
     pod 'iRate'
     pod 'iOS-KML-Framework', :git => 'https://github.com/FLCLjp/iOS-KML-Framework.git'

end

import_pods

target "BluePlaquesLondonFramework" do
    import_pods
    pod 'Kiwi'
end
7
fred foc

Si vous avez ajouté une configuration de construction personnalisée à votre projet existant, Cocoapods s'en plaindra.

Cocoapods créera automatiquement des fichiers xcconfig dans le répertoire Pods/Target Support Files/<build_target> en suivant le modèle de nommage Pods-<build_target>.<build_config>.xcconfig.

Assurez-vous simplement d’ajouter manuellement ces fichiers à votre projet dans Xcode (sous le répertoire Pods, mais pas dans le projet Pods!). Une fois ces fichiers inclus, sélectionnez votre projet dans Xcode, accédez à l'onglet "Info" et développez votre configuration personnalisée. Sélectionnez le fichier xcconfig approprié pour chaque cible sous votre configuration personnalisée.

6
diegoreymendez

J'ai eu la même erreur lors de l'installation du pod. J'ai tout essayé (réinstaller le pod, mettre à jour toutes les gemmes, etc.) et j'ai trouvé la solution qui fonctionnait dans mon cas. Il y avait un problème en raison du changement de nom de la cible. Dans ce cas, la solution est simple:

  1. Cliquez sur Produit -> Schéma -> Gérer les schémas ...
  2. Cliquez sur votre cible dans la liste et supprimez-la avec le signe "-" en bas de la fenêtre.
  3. Cliquez sur "+" pour ajouter la cible à la liste. Choisissez la cible et le nom corrects.

Après tout, tout devrait fonctionner.

4
lukszar
  1. Ajoutez les fichiers xcconfig pertinents à votre projet. Les Cocoapod les auront créés mais vous ne pouvez pas les définir dans Xcode tant qu’ils ne sont pas dans le projet.
    • Vous voudrez probablement les ajouter au groupe Pods où se trouvent les fichiers des autres pods xcconfig. Faites un clic droit et ajoutez des fichiers.
    • Recherchez les fichiers xcconfig dans votre dossier de projet ou regardez dans Pods/Target Support Files/[TARGET_NAME]/ (j'ai différents cocoapods configurés pour chaque cible (extension et projet principal, cela peut être légèrement différent dans votre cas)
  2. Accédez aux configurations de projet dans l'info de votre projet principal
  3. Pour chaque cible et configuration, définissez la configuration de pods appropriée.
  4. pod install encore et vous ne devriez voir aucune erreur.
3
Joseph Lord

J'ai déplacé des pods dans Podfile en dehors de la cible. Le fichier change de ceci:

# Uncomment this line to define a global platform for your project
# platform :ios, '8.0'
# Uncomment this line if you're using Swift
use_frameworks!

target 'MyProject' do

pod 'Firebase', '>= 2.5.0'
pod 'Onboard'
pod 'GoogleMaps'
pod 'IQDropDownTextField'

end

Pour ça:

# Uncomment this line to define a global platform for your project
# platform :ios, '8.0'
# Uncomment this line if you're using Swift
use_frameworks!

pod 'Firebase', '>= 2.5.0'
pod 'Onboard'
pod 'GoogleMaps'
pod 'IQDropDownTextField'

target 'MyProject' do

end
3
Manuel BM

Donc, pour moi, le problème était dû au fait que les noms de fichiers xcconfig susmentionnés avaient été modifiés avant la mise à jour Swift 3.

Quelque chose n'était pas synchronisé, donc Cocoapods a créé une section de dossier "Références récupérées" avec les anciens fichiers nommés et liée à ceux-ci.

Pour résoudre ce problème, je:

  1. Suppression du dossier 'Références récupérées' et des anciens fichiers .xcconfig contenant Xcode et le système de fichiers
  2. Quitter Xcode

  3. Lancer l'installation du pod

Après, tout a été géré pour moi et les avertissements ont disparu.

1
Harry Bloom

Si vous utilisez une configuration personnalisée, vous pouvez suivre la suggestion de l’avertissement et inclure la configuration du pod dans votre fichier de configuration.

     #include "Pods/Target Support Files/Pods-YYY/Pods-YYYY.develop-archive.xcconfig"

Cela n'arrêtera PAS les avertissements mais vous permettra d'utiliser votre configuration privée (il y a un bogue ouvert sur l'avertissement avec le projet CocoaPods) https://github.com/CocoaPods/CocoaPods/issues/26

1
Zeev Vax

J'ai pu construire le projet touché par ce problème sur XCode 6 en:

  • sélection du projet dans le navigateur de projet
  • choisir Project au lieu de Target
  • aller à l'onglet Info
  • choix de pods. (debug/release) Fichiers de configuration de la liste déroulante pour les configurations respectives.

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

0
Michael

Cela m'est arrivé parce que j'avais déjà une configuration Pod. Je suis nouveau sur le développement iOS, cherchant des instructions pour installer Alamofire + SwiftyJSON et finissant par installer les bibliothèques plus d'une fois, par inadvertance. Pour moi, ce qui a fonctionné a été: sur le dossier "Target Support Files" du projet "Pods", j'ai sélectionné les deux fichiers .xcconfig corrects et les ai fait glisser vers le dossier "Pods" de mon projet d'application. Cela a permis la sélection des fichiers de configuration corrects dans la configuration de base.

Mais ensuite, si je lance à nouveau "pod install", l'avertissement passera au fichier .xcconfig précédent. J'essaie de supprimer les fichiers et l'ancien framework du projet principal mais quand j'ai exécuté la commande précédente une fois de plus, m'a donné le même avertissement et créé le fichier "Pods.framework" dans le dossier "Pods" de mon projet d'application. Je l'ai ignoré et il semble fonctionner correctement, malgré les deux cadres. Je ne sais pas si c'est correct, et une solution, si elle existe, serait la bienvenue.

0
Pablo

J'ai eu une erreur:

diff: /../Podfile.lock: Aucun fichier ou répertoire de ce type diff: /Manifest.lock: Aucune erreur de fichier ou de répertoire de ce type: le bac à sable n'est pas synchronisé avec Podfile.lock.

J'ai tiré la demande de bitbucket pour la première fois. J'ai nettoyé mon projet et tout essayé (installation de pod, mise à jour de pod, etc.) mais aucune des réponses ci-dessus n'a fonctionné pour moi. Ensuite, je vérifie simplement le chemin où j’installais le pod, puis je le corrige puis je l’installe à nouveau. Cela a fonctionné. Assurez-vous d’indiquer le chemin juste avant .xcodeproj ou .xcworkspace (s’il existe déjà). Peut-être que quelqu'un en profite.

0
Simple Maurya