Cocoapods警告 – CocoaPods没有设置你的项目的基本configuration,因为你的项目已经有一个自定义的configuration集

在我的项目底部执行pod install后,出现以下错误:

CocoaPods没有设置你的项目的基本configuration,因为你的项目已经有一个自定义的configuration集。 为了使CocoaPods集成可以工作,请将目标BluePlaquesLondonFramework的基本configuration设置为Pods/Target Support Files/Pods/Pods.debug.xcconfig或者包含Pods/Target Support Files/Pods/Pods.debug.xcconfig在你的构buildconfiguration。

这可能听起来像一个愚蠢的问题,但我如何设置目标的基本configuration?

https://github.com/seanoshea/BluePlaquesLondon/blob/ios8/Podfile是导致此问题的Podfile。

http://github.com/seanoshea/BluePlaquesLondon在iOS 8分支上是有问题的Podfile,如果你想知道该项目是什么样子的话。

我遇到了同样的问题,但是在Xcode 6.1.1中 – 对于我来说,修改了两个与pod install相关的目标的configuration文件设置为None ,然后再次运行pod install

configuration文件设置是通过select项目(不是目标),然后select信息选项卡find的。

进入XCode并打开您的项目设置,在Info选项卡下,您将看到“Configurations”,您可以在其中为Debug和Release设置configuration文件。 你显然已经将这些设置为一些自定义configuration,CocoaPods希望/需要你使用Podsconfiguration。

这是一个屏幕截图

不要修补,重置。

一步步

  1. 显示项目导航器
  2. select项目
  3. selectInfo
  4. 在“ configuration”中 ,逐个select一个(Debug,ApplicationUnitTest,Release等),对于所述configuration中的每个目标,将configuration设置为None
  5. 确保根据configuration文件读取0 Configurations SetNo Configurations Set for each configuration。 这是关键。 0配置设置
  6. 退出 Xcode
  7. rm -rf Pods/ Podfile.lock ; pod install

一旦允许在步骤7进行pod install来实现这一点,您可以使用自定义configuration并更改configuration。

跑到同样的问题。 它将build立在模拟器上,但不在我的设备上。 没有任何答案可以解决这个问题。 以下是我在一起拼凑一些答案:

  1. 更改我的豆荚文件以使用特定的目标:

     target :MyProject do pod 'AWSCognitoSync' pod 'Facebook-iOS-SDK' end 
  2. 冉荚安装

  3. 这给出了一个错误: [!] 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. [!] 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. 转到项目设置,然后单击信息选项卡。 在找不到configuration文件的地方会出现错误。 将其设置为“无”用于debugging和发布。
  5. 再次运行pod安装
  6. 清理和build立。 这工作。

你还应该确保你在Podfile的根目录下没有任何豆荚,你应该定义所有在这样的目标中使用的豆荚:

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

您还可能需要从目标依赖项中删除libPods.alibPods-app.a ,执行clean,然后再次运行pod install

添加一些自定义生成configuration后,我刚刚遇到了这个问题。 我可以看到:

 Pods (target) > Target Support Files > Pods 

它实际上已经创build了与新的构buildconfiguration相匹配的新的xcconfig文件,但由于某些原因,我无法在我的应用的项目目标中select这些文件。

对我来说固定的是安装和使用cocoapods-deintegrate :

 gem install cocoapods-deintegrate 

然后运行:

 pod deintegrate 

其次是:

 pod install 

生成问题的podfile中的行是:link_with ['BluePlaquesLondon','BluePlaquesLondonFramework']。

只要做到这一点:link_with ['BluePlaquesLondon']或这(工作在我的情况,希望它会在你的:-)):

 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 

如果您将自定义的构buildconfiguration添加到您的现有项目,Cocoapods将会抱怨。

Cocoapods会自动在命名模式Pods-<build_target>.<build_config>.xcconfig的目录Pods/Target Support Files/<build_target>下创buildxcconfig文件。

只要确保手动将这些文件添加到Xcode中的项目(在Pods目录下,但不在Pods项目中!)。 一旦包含这些文件,请在Xcode中select您的项目,进入“信息”选项卡,然后展开您的自定义configuration。 在您的自定义configuration下为每个目标select适当的xcconfig文件。

我在安装pod时遇到同样的错误。 我试了一切(重新安装荚,更新所有的gem等),我发现解决scheme在我的情况下工作。 由于改变目标的名字而出现问题。 在这种情况下解决scheme很简单:

  1. 点击产品 – >scheme – >pipe理scheme…
  2. 点击列表上的目标,并使用窗口底部的“ – ”号删除它。
  3. 点击“+”将目标添加回列表。 select正确的目标和名称。

毕竟一切都应该起作用。

  1. 将相关的xcconfig文件添加到您的项目中。 Cocoapods已经创build了它们,但是直到它们在项目中,才能在Xcode中设置它们。
    • 您可能希望将它们添加到其他豆荚xcconfig文件所在的豆荚组中。 右键单击并添加文件。
    • search项目文件夹中的xcconfig文件,或在Pods/Target Support Files/[TARGET_NAME]/ (我为每个目标configuration了不同的cocoapods(扩展和主项目,在您的情况下可能略有不同)
  2. 转到主项目信息中的项目configuration
  3. 为每个目标和configuration设置适当的吊舱configuration。
  4. 再次pod install ,您应该看到没有错误。

我在目标外的Podfile中移动了Pod。 文件从这个变化:

 # 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 

对此:

 # 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 

如果您使用自定义configuration,您可以按照警告中的build议,并在configuration文件中包含Podconfiguration

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

这不会停止警告,但将允许您使用您的私人configuration(CocoaPods项目警告有一个开放的错误) https://github.com/CocoaPods/CocoaPods/issues/2633

我能够通过以下方式在XCode 6上构build此问题所触及的项目:

  • 从Project Navigator中selectProject
  • select项目而不是目标
  • 去信息选项卡
  • (debugging/释放)configuration文件从组合文件从各自的configuration的组合文件。

希望这会帮助别人。

这发生在我身上,因为我已经有了Podconfiguration。 我是iOS开发新手,正在search安装Alamofire + SwiftyJSON的指令,最终导致无意中安装了多个库。 对我来说,工作原理是:在“Pods”项目的“目标支持文件”文件夹中,我select了两个正确的.xcconfig文件,并将它们拖到我的应用程序项目的“Pods”文件夹中。 这使得能够在基本configuration上select正确的configuration文件。

但是,如果再次运行“pod install”,则警告将更改为以前的.xcconfig文件。 我尝试从主项目中删除文件和旧框架,但是当我再次运行上一个命令时,给了我相同的警告,并在我的应用程序项目的“Pods”文件夹下创build了文件“Pods.framework”。 我忽略了它,尽pipe有两个框架,但似乎运行正常。 我不知道这是否正确,如果存在解决scheme,这将是受欢迎的。

所以对我来说,这个问题是由于前面提到的xcconfig文件名在Swift 3更新发生之前被更改的。

有些东西不同步,所以Cocoapods创build了一个“恢复的引用”文件夹部分与旧的命名文件,并链接到他们。

为了解决这个问题,我:

  1. 从Xcode和文件系统中删除了“恢复的引用”文件夹和包含旧的.xcconfig文件
  2. 退出Xcode

  3. 运行pod安装

在那之后,一切都为我处理,警告消失了。

最简单的解决scheme(多次发生此问题之后):

  1. 从您的项目库中删除Podfile&Podfile.lock(将Podfile保存在某处,以便您可以轻松地粘贴到新的Podfile)
  2. 运行“pod init”
  3. 编辑“Podfile”到您的意愿(添加您使用的豆荚)
  4. 运行“pod安装”

这将重新创build一切,并在几分钟内始终工作(不花时间来逆向工程的“错误”)。