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

Posted

技术标签:

【中文标题】Cocoapods 警告 - CocoaPods 没有设置您项目的基本配置,因为您的项目已经有一个自定义配置集【英文标题】:Cocoapods Warning - CocoaPods did not set the base configuration of your project because because your project already has a custom config set 【发布时间】:2014-12-04 21:30:33 【问题描述】:

在我的项目基础上执行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 是有问题的 Podfile,如果您想看看项目是什么样子的话。

【问题讨论】:

这有点离题,但是;我只是想警告您有关 iOS-KML-Framework 的信息。它使用 TBXML 的 1.5 版,这有点错误。如果您的提要中出现格式错误的 XML,您的应用程序将会崩溃。您可能希望为 iOS-KML-Framework 创建一个私有分支,在其中从 podspec 中删除“1.5”,并仅使用 TBXML 的 HEAD。这似乎解决了很多问题。 github.com/CocoaPods/CocoaPods/issues/2633 有一个很好的解决方法 - 将所有配置设置为无,然后运行“pod install” 【参考方案1】:

抱歉,我之前的回答不清楚。这只是我在尝试设置 Cloud Firestore 时遇到的许多错误之一,所以这个答案是针对这种情况的。为了解决此错误并使 firebase 正常工作,最终,您必须遵循此页面中的所有步骤:https://firebase.flutter.dev/docs/firestore/overview/。如果您在生成“firebase_options.dart”文件时遇到问题,则需要按照此页面上的步骤操作:https://firebase.google.com/docs/cli#mac-linux-auto-script。最后一步是可选的,但它减少了构建时间,我真的不知道如何或为什么,但它使其他一些错误也消失了......第 4 步。改进 iOS 和 macOS 构建时间,来自此页面 @987654323 @。当然,不要忘记在 pubspec.yaml 中添加依赖项:https://pub.dev/packages/firebase_core/install。这里还有一个关于使用 Firebase.initializeApp() 的精彩评论:https://***.com/a/63492262/17626190

【讨论】:

正如目前所写,您的答案尚不清楚。请edit 添加其他详细信息,以帮助其他人了解这如何解决所提出的问题。你可以找到更多关于如何写好答案的信息in the help center。【参考方案2】:

只需按照 android Studio 说明操作即可。 这是错误输出:

"[!] 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 `Runner` to `Target Support Files/Pods-Runner/Pods-Runner.profile.xcconfig` or include the `Target Support Files/Pods-Runner/Pods-Runner.profile.xcconfig` in your build configuration (`Flutter/Release.xcconfig`)."

在 android studio IDE 中进入 IOS 文件夹/Flutter 并打开文件 Release.xconfig

然后就过了这一行:

Target Support Files/Pods-Runner/Pods-Runner.profile.xcconfig

删除 podfile.lock 并尝试在 Xcode 中重建。为我工作。

【讨论】:

【参考方案3】:

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

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

解决方案

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

    退出 Xcode

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

    验证 pod 是否已移除

    Project has been deintegrated. No traces of CocoaPods left in project.
    Note: The workspace referencing the Pods project still remains.
    

    终端:从ios项目文件夹运行pod install

(来自这个原版 - 不好)

(到这个好的设置)

备注

无法使用第二个解决问题 建议将 xconfig 文件包含在 Flutter/Release.xcconfig 配置文件中提到 错误信息。

【讨论】:

为我工作。我使用了相同的想法,但步骤更简单。在(来自this original - BAD)屏幕截图中,我将它们全部设置为None。我关闭了 Xcode 并运行了 pod install。当我再次在 Xcode 中打开一个项目时,我得到了(到这个良好的设置)截图。【参考方案4】:

我有错误:

diff: /../Podfile.lock: No such file or directory diff: /Manifest.lock: No such file or directory error: The sandbox is not in sync with the Podfile.lock.

我刚刚检查了我安装 pod 的路径并更正它并再次安装,它就可以正常工作。

确保在 .xcodeproj 或 .xcworkspace(如果已经存在)存在之前给出路径。

【讨论】:

【参考方案5】:

不要修补,重置。

一步一步

    显示项目导航器 选择项目 选择InfoConfigurations 中,一次选择一个(Debug、ApplicationUnitTest、Release 等),然后为所述配置中的每个目标,将配置设置为 None. 确保基于配置文件每个配置读取0个配置集没有配置集。这就是症结所在。 退出 Xcode rm -rf Pods/ Podfile.lock ; pod install

一旦您在步骤7 中允许pod install 发挥其魔力,您就可以使用自定义配置并更改您的配置。

【讨论】:

这应该被接受的答案,以前对我来说也不明显。 使用Pods 配置,正如其他答案中所建议的那样,并没有解决我的问题:构建设置 已经匹配Pods.debugPods.release ,这的问题。 每个配置的0个配置集。答案不一样。 这对我也有用。请注意,您必须从 Targets 更改为 Projects 才能看到配置。我搜索了很长时间,直到我偶然发现了下拉列表。 如果可以的话,我会投票一百次。经过 30 个小时的 Jenkins 构建过程,在合并 4 个开发人员分支后,使用自定义配置文件向 iOS 应用程序添加 3 个扩展,从可可豆荚中轰炸 check manifest.lock 脚本,这最终解决了这个问题。 (在许多其他事情中,但这是最后的稻草修复)。 :干杯: "[!] 无法确定以下 pod 的 Swift 版本:"【参考方案6】:

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

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

为了解决这个问题,我:

    删除了“Recovered References”文件夹和包含旧的 来自 Xcode 和文件系统的 .xcconfig 文件

    退出 Xcode

    运行 pod install

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

【讨论】:

【参考方案7】:

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

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

【讨论】:

通过选择项目(不是目标)然后选择信息选项卡可以找到此设置。 有助于进行更改,然后退出 xcode,运行pod install,然后重新打开。在此期间不要让 Xcode 保持打开状态。 这为我解决了问题。我的配置指向一个旧的 xcconfig 名称,由于我在 Podfile 中添加了两个显式目标(一个用于主项目,一个用于测试),导致生成具有不同名称的新配置文件。 对于那些和我一样担心将其设置为None 会破坏东西的人。随后的pod install 可以解决所有问题。 xcode 10 中的这个设置在哪里?翻遍了所有的标签,找不到它【参考方案8】:

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

【讨论】:

【参考方案9】:

遇到了同样的问题。它将建立在模拟器上,但不在我的设备上。没有一个答案为我解决了这个问题。这是我将一些答案拼凑在一起的结果:

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

    target :MyProject do
        pod 'AWSCognitoSync'
        pod 'Facebook-iOS-SDK'
    end
    

    运行 pod 安装

    这给出了一个错误: [!] 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. 进入项目设置并单击信息选项卡。将出现找不到配置文件的错误。将其设置为“无”以进行调试和发布。 再次运行 pod install 清理和构建。这行得通。

【讨论】:

在第 4 步和第 5 步之间,我总是关闭 xcode。在 pod 安装期间运行 xcode 时出现问题。 我自己在创建自定义方案时遇到了这个问题。以上也适用于 Xcode 7。我建议 @srayhunter 建议在安装期间关闭 Xcode。 我希望我能多次投票。这让我每次都如此。【参考方案10】:

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

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

【讨论】:

这并不能真正回答问题。如果您有其他问题,可以点击 进行提问。一旦你有足够的reputation,你也可以add a bounty 来引起对这个问题的更多关注。 感谢Petro的解释。我只是想分享对我有用的结果(有警告,但仍然如此),但我以后会更加小心。【参考方案11】:

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

Pods (target) > Target Support Files > Pods

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

为我解决的问题是安装和使用cocoapods-deintegrate:

gem install cocoapods-deintegrate

然后运行:

pod deintegrate

接着是:

pod install

【讨论】:

这对我有帮助。 一个项目坏了。【参考方案12】:

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

    从您的项目库中删除 Podfile 和 Podfile.lock(将 Podfile 保存在某处以便您可以轻松粘贴到新的 Podfile) 运行“pod init” 根据您的意愿编辑“Podfile”(添加您正在使用的 pod) 运行“pod install”

这将在几分钟内重新创建所有内容并始终运行(无需花费时间对“错误”进行逆向工程)。

【讨论】:

【参考方案13】:

我能够通过以下方式在 XCode 6 上构建受此问题影响的项目:

从项目导航器中选择项目 选择项目而不是目标 转到信息选项卡 从相应配置的组合框中选择 Pod。(调试/发布)配置文件。

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

【讨论】:

【参考方案14】:
    将相关的 xcconfig 文件添加到您的项目中。 Cocoapods 将创建它们,但您不能在 Xcode 中设置它们,直到它们在项目中。 您可能希望将它们添加到其他 pod xcconfig 文件所在的 Pod 组中。右键单击并添加文件。 在您的项目文件夹中搜索 xcconfig 文件或查看Pods/Target Support Files/[TARGET_NAME]/(我为每个目标配置了不同的 cocoapods(扩展和主项目在您的情况下可能略有不同) 转到主项目信息中的项目配置 为每个目标和配置设置适当的 pod 配置。 再次pod install,您应该不会看到任何错误。

【讨论】:

【参考方案15】:

您还应该确保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

【讨论】:

【参考方案16】:

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

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

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

【讨论】:

【参考方案17】:

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

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

这不会停止警告,但会允许您使用您的私有配置(CocoaPods 项目的警告中有一个未解决的错误) https://github.com/CocoaPods/CocoaPods/issues/2633

【讨论】:

感谢您添加一个不会牺牲您当前项目设置的答案。【参考方案18】:

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

    点击产品 -> 方案 -> 管理方案... 单击列表中的目标并在窗口底部使用“-”号将其删除。 单击“+”将目标添加回列表。选择正确的目标和名称。

毕竟一切都应该有效。

【讨论】:

这对我有用,我的项目是用 Flutter 编写的。谢谢!【参考方案19】:

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

【讨论】:

这对我来说效果很好。我已经按照接受的答案设置了 Cocoapods 配置,但仍然看到警告。那么为什么这会起作用,而 link_with ['BluePlaquesLondon', 'BluePlaquesLondonFramework'] 却不起作用呢?【参考方案20】:

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

【讨论】:

请注意,如果您确实需要出于实际目的使用自定义配置,这并不能解决问题。看到这个open issue。 Xcode 6 中没有任何改变使这个答案不正确 另一个问题,但它为我解决了我的问题。在 UI 测试中使用可可豆荚,这件事救了我的命!谢谢。

以上是关于Cocoapods 警告 - CocoaPods 没有设置您项目的基本配置,因为您的项目已经有一个自定义配置集的主要内容,如果未能解决你的问题,请参考以下文章

使用 CocoaPods 时的 Xcode 12 部署目标警告

在 Swift 中使用 CocoaPods 时忽略编译警告

解决cocoapods在64位iOS7系统以下的警告问题

Flutter 调试:警告:未安装 CocoaPods。跳过 pod 安装

iOS 开发解决 CocoaPods 执行时出现 - Use the `$(inherited)` flag ... 警告

安装旧的 cocoapods?