2014-10-09 57 views
291

我在我的项目的基本执行pod install后,我收到以下错误:的CocoaPods警告 - 的CocoaPods没有设置你的项目的基本配置,因为,因为你的项目已经有一个自定义配置设置

CocoaPods did not set the base configuration of your project because 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 BluePlaquesLondonFramework to Pods/Target Support Files/Pods/Pods.debug.xcconfig or include the Pods/Target Support Files/Pods/Pods.debug.xcconfig in your build configuration.

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

https://github.com/seanoshea/BluePlaquesLondon/blob/ios8/Podfile是这是造成这一问题的Podfile。

在iOS 8支http://github.com/seanoshea/BluePlaquesLondon是Podfile问题,如果你好奇,想看看该项目的样子。

+2

这有点偏离主题,但;我只是想警告你关于iOS-KML-Framework。它使用TBXML的1.5版本,这有点bug。如果您的Feed中的XML格式不正确,则您的应用会崩溃。您可能希望为iOS-KML-Framework创建一个私有分支,您可以在其中删除'1。5'来自podspec,并且只使用TBXML的HEAD。这似乎解决了很多问题。 – churowa 2014-11-03 17:17:45

+0

请更新您的标题以包含更多的实际警告。例如:“CocoaPods没有设置配置警告”。 – 2015-02-17 10:58:49

+0

更新了标题@DavidJames。如果你觉得它有点罗嗦,很乐意再改变它。 – seanoshea 2015-02-17 13:54:49

回答

541

我有同样的问题,但在Xcode 6.1.1 - 什么固定对我来说是配置文件设置更改为None两个吊舱相关的目标,然后再次运行pod install

配置文件设置由选择项目(不是目标),然后将信息选项卡中。

+135

通过选择项目(不是目标)然后选择信息选项卡可以找到此设置。 – Grav 2014-12-12 09:37:07

+31

它有助于进行更改,然后退出xcode,运行'pod install',然后重新打开。在此期间不要让Xcode保持打开状态。 – 2015-01-09 05:56:59

+1

这为我修好了。我的配置指向一个旧的xcconfig名称,这个名字在我的Podfile中添加了两个显式目标(一个用于测试的主要proj目录)后发生了变化,导致生成具有不同名称的新配置文件。 – qix 2015-05-04 06:01:21

135

走进了XCode并打开您的项目设置和信息选项卡下,您会看到“配置”在这里你可以设置一个配置文件,Debug和Release。您显然已经将这些设置为一些自定义配置,CocoaPods希望/需要您使用Pods配置。

Here's a screen shot

+7

请注意,如果您实际需要使用自定义配置以达到真实目的,这并不能解决问题。看到这个[公开问题](https://github.com/CocoaPods/CocoaPods/issues/2633)。 – funroll 2015-04-15 21:24:43

+1

它改变了Xcode 6,请更新您的答案 – jAckOdE 2015-04-17 07:05:50

+1

Xcode 6没有任何改变,使这个答案不正确 – quark 2015-04-17 14:15:11

7

在被产生的问题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 
+0

这对我来说非常合适。我已经按照公认的答案设置了Cocoapods配置,但仍然看到警告。那么为什么这个工作,当'link_with ['BluePlaquesLondon','BluePlaquesLondonFramework']'不? – churowa 2014-11-03 17:21:36

3

我有同样的错误,而吊舱安装。我试了一切(重新安装pod,更新所有宝石等),我发现解决方案在我的情况下工作。由于改变目标的名字而出现问题。在这种情况下,解决方法很简单:

  1. 点击产品 - >计划 - >管理方案...
  2. 单击列表中的目标,并删除“ - ”在窗口底部的迹象。
  3. 点击“+”将目标添加回列表。选择正确的目标和名称。

毕竟一切都应该工作。

0

如果您使用的自定义配置,你可以遵循警告的建议,包括在波德配置在您的配置文件

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

这将不会停止的警告,但将允许您使用您的私人配置(上有警告开放的臭虫以项目的CocoaPods) https://github.com/CocoaPods/CocoaPods/issues/2633

67

遇到同样的问题。它将建立在模拟器上,但不在我的设备上。没有任何答案能解决这个问题。这就是我所做的拼凑一些回答起来:

  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.
  4. 转到项目设置,然后单击信息选项卡。在找不到配置文件的地方会出现错误。将其设置为“无”用于调试和发布。
  5. 再次运行pod安装
  6. 清理并构建。这工作。
+1

在步骤4和5之间,我总是关闭xcode。当在代码安装过程中运行xcode时,我遇到了问题。 – 2015-08-22 22:07:14

+0

刚刚碰到这个自己创建自定义计划。上面也适用于Xcode 7.我建议在安装过程中关闭Xcode的@srayhunter建议。 – subv3rsion 2015-10-07 15:20:48

+1

我希望我可以多次投票。这让我每次都感到满意。 – 2016-04-29 14:52:03

6

如果您将自定义生成配置添加到您的现有项目,Cocoapods会抱怨它。

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

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

16

你也应该确保你有在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来自目标依赖项,执行一次清理,然后再次运行pod install

3
  1. 将相关的xcconfig文件添加到您的项目中。 Cocoapods已经创建了它们,但是只有在Xcode进入项目之后才能设置它们。
    • 您可能希望将它们添加到Pods组中其他Pod xcconfig文件所在的组。右键单击并添加文件。
    • 搜索项目中的文件夹或xcconfig文件看起来在Pods/Target Support Files/[TARGET_NAME]/(我有配置为每个目标(延伸和主项目不同的CocoaPods这可能是你的情况略有不同)
  2. 转到项目中的配置您主项目的信息
  3. 对于每个目标和配置设置相应的吊舱配置。
  4. pod install再次您应该看到没有错误。
0

我是能够建立在了XCode 6这个问题涉及的项目:从项目导航

    • 选择项目选择,而不是目标
    • 项目将信息标签
    • 选择Pods。(调试/释放)配置来自ComboBox的相应配置文件。

    希望这会帮助别人。

  • -2

    这个最简单的解决方案(有这个问题后,多次):

    1. 从项目库中删除Podfile & Podfile.lock(保存Podfile的地方,所以你可以很容易地粘贴到新Podfile)
    2. 运行“吊舱的init”
    3. 编辑“Podfile”你的意志(添加要使用豆荚)
    4. 运行“吊舱安装”

    这将重新创建所有内容并始终在数分钟内完成(不花时间对“错误”进行反向工程)。

    8

    我刚刚在添加一些自定义生成配置后遇到此问题。我可以看到下:

    Pods (target) > Target Support Files > Pods 
    

    ,它实际上已经创造了新的xcconfig文件相匹配的新构建配置,但由于某种原因,在我的应用程序的项目目标我无法选择这些。

    什么固定对我来说是安装和使用cocoapods-deintegrate

    gem install cocoapods-deintegrate 
    

    ,然后运行:

    pod deintegrate 
    

    依次为:

    pod install 
    
    +1

    这对我有帮助。 – Krishnan 2016-10-06 19:11:24

    105

    不要随便修改,重置。

    步骤一步

    1. 显示项目导航
    2. 选择项目
    3. 选择Info
    4. 配置,选择每一个,每次一个(调试,ApplicationUnitTest ,Release等),并且对于所述配置中的每个目标,将配置设置为
    5. 使某些基于配置文件0配置设置没有配置建立每个配置。这是关键。 0 Configurations Set
    6. 退出的Xcode
    7. rm -rf Pods/ Podfile.lock ; pod install

    一旦你在步骤7允许pod install做它的魔力,你可以使用自定义配置和更改配置。

    +4

    这应该是被接受的答案,以前对我来说都不是很明显。 – 2015-12-12 21:43:39

    +0

    甚至http://stackoverflow.com/a/26287204/2105993不够明显? – ReDetection 2015-12-23 15:37:21

    +0

    使用'Pods'配置,正如其他答案中的建议,至少没有解决我的问题:** Build Settings **已经匹配'Pods.debug'&'Pods.release',其中**是* * 问题。 ** **配置设置**用于**每个**配置。不一样的答案。 – SwiftArchitect 2015-12-23 19:51:58

    0

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

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

    +0

    这并没有真正回答这个问题。如果您有不同的问题,可以通过单击[提问](http://stackoverflow.com/questions/ask)来提问。您还可以[添加赏金](http://stackoverflow.com/help/privileges/set-bounties)在您拥有足够的[声誉](http://stackoverflow.com/help/)时吸引更多人关注此问题什么声誉)。 – 2015-11-04 13:47:50

    +0

    感谢Petro的解释。我只是想分享对我有用的结果(有警告,但仍然),但我将来会更加小心。 – Pablo 2015-11-04 15:54:24

    3

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

    # 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 
    
    0

    ,这个问题是由于上述xcconfig文件名的斯威夫特3更新之前被改变发生。

    有些东西不同步,所以Cocoapods使用旧的命名文件创建了一个'恢复的引用'文件夹部分,并链接到它们。

    为了解决这个问题,我:

    1. 删除了 '复引用' 文件夹,并从Xcode中含旧 .xcconfig文件和文件系统
    2. 退出Xcode中

    3. 运行吊舱安装

    之后一切都是为我处理的,而w装束消失了。