ChatGPT解决这个技术问题 Extra ChatGPT

Cocoapods 警告 - 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 是有问题的 Podfile。

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

S
Stan James

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

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


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

不折腾,重置。

一步步

Show Project Navigator Select Project Select Info 在 Configurations 中,一次选择一个(Debug、ApplicationUnitTest、Release 等),并且对于所述配置中的每个目标,将配置设置为 None。确保基于配置文件为每个配置读取 0 个配置集或无配置集。这就是症结所在。退出 Xcode rm -rf Pods/ Podfile.lock ;吊舱安装

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


这应该被接受的答案,以前对我来说也不明显。
正如其他答案中所建议的那样,使用 Pods 配置并没有解决我的问题:Build Settings 已经匹配 Pods.debug & Pods.release,这问题。 每个配置设置了0个配置集。无论如何都不是同一个答案。
这也对我有用。请注意,您必须从 Targets 更改为 Projects 才能看到配置。我搜索了很长时间,直到我偶然发现了下拉菜单。
“[!] 无法确定以下 pod 的 Swift 版本:”
确保您在 ios 文件夹中执行最后一步。在项目的根目录中执行它不会有任何效果:)
q
quark

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

https://i.stack.imgur.com/NOPbi.png


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

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

更改了我的 pods 文件以使用特定目标: target :MyProject do pod 'AWSCognitoSync' pod 'Facebook-iOS-SDK' end Ran pod install 这给出了一个错误:[!] CocoaPods 没有设置项目的基本配置,因为你的项目已经有一个自定义配置集。为了使 CocoaPods 集成能够正常工作,请将目标 `MyProject` 的基本配置设置为 `Pods/Target Support Files/Pods-MyProject/Pods-MyProject.debug.xcconfig` 或包含 `Pods/Target Support构建配置中的 Files/Pods-MyProject/Pods-MyProject.debug.xcconfig`。转到项目设置并单击信息选项卡。将出现找不到配置文件的错误。将其设置为“无”以进行调试和发布。再次运行 pod install 清理并构建。这行得通。


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

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

[!] CocoaPods 没有设置您项目的基本配置,因为您的项目已经有一个自定义配置集。为了使 CocoaPods 集成能够正常工作,请将目标 Runner 的基本配置设置为 Target 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 是否已删除 项目已被取消集成。项目中没有留下任何 CocoaPods 的痕迹。注意:引用 Pods 项目的工作空间仍然存在。终端:从 ios 项目文件夹运行 pod install

(从这个原件 - 坏)

https://i.stack.imgur.com/HM4ov.png

(到这个GOOD设置)

https://i.stack.imgur.com/ziCZl.png

笔记

如错误消息中所述,我无法使用第二个建议解决问题,即在 Flutter/Release.xcconfig 配置文件中包含 xconfig 文件。


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

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


H
Hodson

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

Pods (target) > Target Support Files > Pods

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

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

gem install cocoapods-deintegrate

然后运行:

pod deintegrate

其次是:

pod install

这对我有帮助。
一个项目坏了。
d
diegoreymendez

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

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

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


f
fred foc

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'] 却行不通?
Z
Zeev Vax

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

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

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


感谢您添加一个不会牺牲您当前项目设置的答案。
l
lukszar

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

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

毕竟一切都应该工作。


这对我有用,我的项目是用 Flutter 编写的。谢谢!
这也适用于我,也适用于 Flutter 项目。谢谢!
J
Joseph Lord

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


M
Manuel BM

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

q
qix

对于那些来自 Flutter 世界的人来说,这是一条误导性的错误消息,暗示了不必要的操作,正确的做法是忽略该错误并使用 flutter cli(不是 pod),如 https://github.com/flutter/flutter/issues/73845 中所述:

gatzsche 说更好的信息是:

在 Flutter pod install 中不应手动调用。要运行 pod install,请执行以下命令 flutter clean、flutter pub get 和 flutter build ios。

jmagman 笔记:

正如您所指出的,错误消息暗示了不必要的操作。 flutter 命令会抑制来自 pod 的消息。您直接运行 pod,这不是推荐的工作流程。我们无法控制来自 CocoaPods 的错误消息,并且 Flutter 命令行工具已经抑制了令人困惑的消息。


H
Harry Bloom

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

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

为了解决这个问题,我:

从 Xcode 和文件系统中删除了“Recovered References”文件夹和包含旧的 .xcconfig 文件退出 Xcode Run pod install

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


M
Michael

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

从项目导航器中选择项目

选择项目而不是目标

转到信息选项卡

从相应配置的组合框中选择 Pods.(debug/release) 配置文件。

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


P
Pablo

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

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


这并没有真正回答这个问题。如果您有其他问题,可以点击 Ask Question 提出问题。一旦您有足够的reputation,您还可以通过add a bounty 来引起对这个问题的更多关注。
感谢Petro的解释。我只是想分享对我有用的结果(警告,但仍然如此),但我将来会更加小心。
J
Jean-François Fabre

我有错误:

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 (如果已经存在)存在之前给出路径。


T
Thiago Silva

只需按照 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 中重建。为我工作。


M
Marijana Banduka

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


正如目前所写的那样,您的答案尚不清楚。请edit添加其他详细信息,以帮助其他人了解这如何解决所提出的问题。您可以找到有关如何写出好答案的更多信息in the help center
I
Idan

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

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

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