在我的项目的基础上执行pod安装后,我得到以下错误:

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。


当前回答

我能够通过以下方法在XCode 6上构建这个问题所涉及的项目:

从项目导航器中选择项目 选择项目而不是目标 转到信息选项卡 从组合框中选择Pods.(调试/释放)配置文件。

希望这能帮助到一些人。

其他回答

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

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

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

为了解决这个问题,我:

删除了“恢复的引用”文件夹和包含旧的 Xcode和文件系统中的.xcconfig文件 Xcode辞职 运行pod安装

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

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

Gatzsche说,更好的信息应该是:

在颤振吊舱安装不应手动调用。运行pod install 执行以下命令颤振清除,颤振pub get和 颤振构建ios。

杰马格曼指出:

正如您所指出的,错误消息建议执行不必要的操作。颤振命令抑制来自吊舱的消息。您直接运行pod,这不是一个推荐的工作流。我们无法控制来自CocoaPods的错误消息,并且flutter命令行工具已经抑制了令人困惑的消息。

Add the relevent xcconfig files to your project. Cocoapods will have created them but you can't set them in Xcode until they are in the project. You probably want to add them to the Pods group where the other pods xcconfig files are. Right click and add files. Search for xcconfig files in your project folder or look in Pods/Target Support Files/[TARGET_NAME]/ (I have different cocoapods configured for each target (extension and main project this may be slightly different in your case) Go to project configurations in the Info of your main project For each target and configuration set the appropriate pods configuration. pod install again and you should see no errors.

我把pod文件里的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