Cocoapods警告 - CocoaPods没有设置项目的基本配置,因为您的项目已经有自定义配置集

时间:2014-10-09 20:08:10

标签: ios xcode cocoapods

在我的项目基础上执行pod install后,出现以下错误:

  

CocoaPods没有设置项目的基本配置,因为您的项目已经有自定义配置集。为了使CocoaPods集成完全正常,请将目标BluePlaquesLondonFramework的基本配置设置为Pods/Target Support Files/Pods/Pods.debug.xcconfig或在构建配置中包含Pods/Target Support Files/Pods/Pods.debug.xcconfig

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

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

iOS 8分支上的

http://github.com/seanoshea/BluePlaquesLondon是有问题的Pod文件,如果你很想知道项目是什么样的。

18 个答案:

答案 0 :(得分:566)

我遇到了同样的问题,但在Xcode 6.1.1中 - 为我修复的是将两个Pods相关目标的配置文件设置更改为None,然后再次运行pod install

通过选择项目(而不是目标),然后选择信息选项卡,找到配置文件设置。

答案 1 :(得分:136)

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

Here's a screen shot

答案 2 :(得分:130)

不要修补,重置。

<强>步骤一步

  1. 显示项目导航器
  2. 选择项目
  3. 选择Info
  4. 配置中,逐个选择一个(Debug,ApplicationUnitTest,Release等),对于所述配置中的每个目标,将配置设置为
  5. 确保基于配置文件每个配置读取 0配置设置无配置设置。这就是症结所在。 0 Configurations Set
  6. 退出 Xcode
  7. rm -rf Pods/ Podfile.lock ; pod install
  8. 在步骤pod install中允许7执行此操作后,您可以使用自定义配置并更改配置。

答案 3 :(得分:68)

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

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

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

  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. 转到项目设置,然后单击“信息”选项卡。如果找不到配置文件,将会出现错误。将其设置为&#34;无&#34;用于调试和发布。
  5. 再次运行pod install
  6. 清洁和建造。这很有效。

答案 4 :(得分:16)

你还应该确保Podfile的根目录中没有pod,你应该定义许多目标中使用的所有pod:

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

答案 5 :(得分:8)

我在添加一些自定义构建配置后遇到了这个问题。我可以看到:

Pods (target) > Target Support Files > Pods

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

为我修复的是安装和使用cocoapods-deintegrate

gem install cocoapods-deintegrate

然后运行:

pod deintegrate

接下来是:

pod install

答案 6 :(得分: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

答案 7 :(得分:6)

如果您为现有项目添加了自定义构建配置,Cocoapods会抱怨它。

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

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

答案 8 :(得分:4)

安装pod时我遇到了同样的错误。我尝试了一切(重新安装pod,更新所有宝石等),我发现解决方案适用于我的情况。由于改变了目标的名称,因此存在问题。在这种情况下,解决方案很简单:

  1. 点击产品 - &gt;方案 - &gt;管理方案......
  2. 点击列表中的目标,然后使用&#34; - &#34;将其删除在窗口底部签名。
  3. 点击&#34; +&#34;将目标添加回列表。选择正确的目标和名称。
  4. 毕竟一切都应该有效。

答案 9 :(得分:3)

  1. 将相关的xcconfig文件添加到项目中。 Cocoapods会创建它们但是你不能在它们进入项目之前在Xcode中设置它们。
    • 您可能希望将它们添加到其他pod xcconfig文件所在的Pods组。右键单击并添加文件。
    • 在项目文件夹中搜索xcconfig文件或查看Pods/Target Support Files/[TARGET_NAME]/(我为每个目标配置了不同的cocoapods(扩展和主项目,在您的情况下可能略有不同)
  2. 转到主项目信息中的项目配置
  3. 为每个目标和配置设置相应的pod配置。
  4. 再次
  5. pod install,您应该看到没有错误。

答案 10 :(得分:3)

我将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

答案 11 :(得分:1)

如果您使用的是自定义配置,可以按照警告中的建议进行操作,并在配置文件中包含Pod配置

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

这不会停止警告但会允许你使用你的私人配置(CocoaPods项目的警告有一个开放的bug) https://github.com/CocoaPods/CocoaPods/issues/2633

答案 12 :(得分:1)

所以对我来说,问题是由于上述xcconfig文件名在Swift 3更新发生之前被更改了。

有些东西不同步,所以Cocoapods创建了一个“Recovered References”文件夹部分,其中包含旧的命名文件,并链接到它们。

为了解决这个问题,我:

  1. 删除了“已恢复的参考文​​献”文件夹并包含旧文件夹 来自Xcode和文件系统的.xcconfig文件
  2. 退出Xcode

  3. 运行pod install

  4. 在那之后,一切都被我处理了,警告也消失了。

答案 13 :(得分:0)

我在仔细阅读错误消息后解决了我的问题:

<块引用>

[!] CocoaPods 没有设置你项目的基本配置 因为您的项目已经有一个自定义配置集。为了 CocoaPods 集成完全可以工作,请设置基础 将目标 Runner 配置为 Target Support Files/Pods-Runner/Pods-Runner.profile.xcconfig 或在您的构建中包含 Target Support Files/Pods-Runner/Pods-Runner.profile.xcconfig 配置 (Flutter/Release.xcconfig)。

解决方案

  1. 打开 Xcode 并将 Runner Info Base Configurations 更改为 相关的 Pods-Runner.profile.xconfig。

  2. 退出 Xcode

  3. 终端:从 ios 项目文件夹运行 pod deintegrate

  4. 验证 Pod 是否已移除

    Project has been deintegrated. No traces of CocoaPods left in project.
    Note: The workspace referencing the Pods project still remains.
    
  5. 终端:从 ios 项目文件夹运行 pod install

(来自这个原件 - 不好)

bad-image

(到这个 GOOD 设置)

solution-image

注意事项

<块引用>

没有能够使用第二个 建议将 xconfig 文件包含在 Flutter/Release.xcconfig 配置文件中提到的 错误信息。

答案 14 :(得分:0)

我有错误:

diff:/../Podfile.lock:没有这样的文件或目录diff:/Manifest.lock:没有这样的文件或目录错误:沙箱与Podfile.lock不同步。

我第一次从bitbucket请求了。我清理了我的项目并尝试了一切(pod安装,pod更新等),但上述答案都没有对我有用。然后我只检查我安装pod的路径并更正它并再次安装,它只是工作。确保在.xcodeproj或.xcworkspace(如果已经存在)之前提供路径。也许有人会从中受益。

答案 15 :(得分:0)

这发生在我身上,因为我已经有了Pod配置。我是iOS开发新手,正在搜索安装Alamofire + SwiftyJSON的说明,最后不经意间不止一次安装了这些库。对我来说,有用的是:在“Pods”项目中的“Target Support Files”文件夹中,我选择了两个正确的.xcconfig文件并将它们拖到我的app项目的“Pods”文件夹中。这样就可以在基本配置上选择正确的配置文件。

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

答案 16 :(得分:0)

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

  • 从Project Navigator中选择Project
  • 选择Project而不是Target
  • 转到信息标签
  • 从组合框中为各个配置选择Pods。(调试/发布)配置文件。

希望这会对某人有所帮助。

答案 17 :(得分:-2)

最简单的解决方案(多次出现此问题后):

  1. 删除Podfile&amp;来自项目库的Podfile.lock(将Podfile保存到某处,以便您可以轻松粘贴到新的Podfile)
  2. 运行'pod init'
  3. 根据您的意愿编辑'Podfile'(添加您正在使用的pod)
  4. 运行'pod install'
  5. 这将重新创建所有内容,并在几分钟内完成工作(不花时间对“bug”进行逆向工程)。