在项目基础上执行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分支上的Podfile就是http://github.com/seanoshea/BluePlaquesLondon。

评论

这有点题外话,但是;我只想警告您有关iOS-KML-Framework的信息。它使用TBXML的1.5版,这有点问题。如果您的Feed中出现格式错误的XML,则您的应用将崩溃。您可能想为iOS-KML-Framework创建一个私有的fork,在其中您可以从podspec中删除“ 1.5”,而仅使用TBXML的HEAD。这似乎解决了很多问题。

请更新标题,以包含更多实际警告。例如:“ CocoaPods未设置配置警告”。

更新了标题@DavidJames。如果您觉得有点罗word,很高兴再次对其进行修改。

现在它是我在stackoverflow上看到的最长的标题之一。

github.com/CocoaPods/CocoaPods/issues/2633有一个很好的解决方法-将所有配置都设置为None,然后运行“ pod install”

#1 楼

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

配置通过选择项目(而非目标)然后选择“信息”选项卡,可以找到文件设置。

评论


通过选择项目(而非目标)然后选择“信息”选项卡,可以找到此设置。

– Grav
2014年12月12日上午9:37

它有助于进行更改,然后退出xcode,运行pod install,然后重新打开。在此期间不要保持Xcode打开。

–塞巴斯蒂安·罗斯(Sebastian Roth)
2015年1月9日下午5:56

这为我解决了。我的配置指向一个旧的xcconfig名称,因为我在Podfile中添加了两个显式目标(一个用于测试的主要项目),所以更改了它,从而导致生成了具有不同名称的新配置文件。

– qix
15年5月4日在6:01

对于那些与我同样担心的人,将其设置为None会破坏东西。

–马修
2015年5月5日21:16

xcode 10中的此设置在哪里?遍历所有标签,找不到

– JeonD
18/12/4在7:48

#2 楼

不要修补,重置。
分步操作

显示项目导航器
选择项目
选择Info

在配置中,一次选择一个,一次(调试,ApplicationUnitTest,Release等),然后针对所述配置中的每个目标,将配置设置为“无”。为每种配置设置。这就是症结所在。



退出Xcode
rm -rf Pods/ Podfile.lock ; pod install


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

评论


这应该是可以接受的答案,以前对我来说都不是显而易见的。

– Evgeniy Kleban
2015年12月12日在21:43

正如其他答案中所建议的那样,使用Pods配置并没有在最小程度上解决我的问题:构建设置已经与Pods.debug和Pods.release匹配,这就是问题所在。为每个配置设置了0个配置。答案不尽相同。

– swiftArchitect
2015年12月23日在19:51



这也对我有用。仅需注意,您必须从目标更改为项目才能查看配置。我搜索了很长时间,直到偶然发现了下拉菜单。

–marty331
16年4月28日在20:07

如果可以的话,我将投票一百次。在将4个开发人员分支合并到具有自定义配置文件的iOS应用程序中的3个扩展并合并了4个开发人员分支之后,经过30个小时的Jenkins构建过程,在可可豆荚的check manifest.lock脚本上进行了轰炸,最终解决了该问题。 (还有很多其他事情,但这是最终的解决方法)。 :干杯:

–奥吉
19 Mar 2 '19 at 0:26

“ [!]无法确定以下Pod的Swift版本:”

–理查德
19-09-27在13:32

#3 楼

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



评论


请注意,如果您实际上需要出于实际目的使用自定义配置,则这不能解决问题。请参阅此未解决的问题。

–乐趣
15年4月15日在21:24

Xcode 6中没有发生任何更改使此答案不正确

–夸克
2015年4月17日14:15



另一个问题,但这为我解决了我的问题。在UI测试中使用可可豆荚,这东西挽救了我的生命!谢谢。

– Akshit Zaveri
16年1月28日在18:33



#4 楼

遇到同样的问题。它可以在模拟器上构建,但不能在我的设备上构建。没有任何答案可以为我解决这个问题。这是我为一些答案拼凑而成的内容:



将我的pods文件更改为使用特定目标:

/> Ran pod install
出现错误:
[!] 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时出现问题。

–雷·亨特(Ray Hunter)
15年8月22日在22:07

自己在创建自定义方案时遇到了这种情况。上面的代码也可以在Xcode 7中使用。我建议@srayhunter在安装过程中关闭Xcode的建议。

– subv3rsion
2015年10月7日在15:20

我希望我可以投票一次以上。这让我无时无刻不在。

– Bill Burgess
16年4月29日在14:52

#5 楼

您还应该确保Podfile的根中没有pod,还应该定义在许多目标中使用的所有pod,例如:
可能需要从目标依赖项中删除libPods.alibPods-app.a,执行清理操作,然后再次运行pod install

#6 楼

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

Pods (target) > Target Support Files > Pods


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

对我来说,修复此问题的方法是安装并使用cocoapods-deintegrate:

gem install cocoapods-deintegrate


,然后运行:

pod deintegrate


后跟:

pod install


评论


这对我有帮助。

–克里希南
16-10-6在19:11

#7 楼

podfile中产生问题的行是:link_with ['BluePlaquesLondon','BluePlaquesLondonFramework']。它会在您的手中:-)):

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']链接的情况下不起作用?

– churowa
2014年11月3日17:21



#8 楼

如果您向现有项目中添加了自定义构建配置,Cocoapods将对此抱怨。只需确保手动将这些文件添加到Xcode中的项目中(在Pods目录下,但不在Pods项目中!)。包含这些文件后,在Xcode中选择您的项目,转到“信息”标签,然后展开自定义配置。为您的自定义配置下的每个目标选择适当的xcconfig文件。

#9 楼

安装Pod时出现相同的错误。我尝试了所有操作(重新安装Pod,更新所有gems等),然后发现解决方案适用于我的情况。由于更改了目标名称而出现了问题。在这种情况下,解决方案很简单:


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

一切正常。

#10 楼

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

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


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

评论


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

–丹·伦纳德(Dan Leonard)
18-09-25在18:14

#11 楼


将relevent xcconfig文件添加到您的项目中。 Cocoapods将已经创建它们,但是您不能在Xcode中设置它们,直到它们在项目中。 。右键单击并添加文件。
在项目文件夹中搜索xcconfig文件或查看Pods/Target Support Files/[TARGET_NAME]/(我为每个目标配置了不同的cocoapod(扩展名和主项目,这可能与您的情况略有不同)


转到主项目信息中的项目配置
为每个目标和配置设置适当的pod配置。


#12 楼

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


#13 楼

因此对我而言,问题是由于在进行Swift 3更新之前更改了上述xcconfig文件名。

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

要解决此问题,我:


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

此后一切都为我处理,警告已消失。

#14 楼

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


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

希望对您有所帮助。

#15 楼

这发生在我身上,因为我已经有一个Pod配置。我是iOS开发的新手,正在搜索安装Alamofire + SwiftyJSON的说明,最终无意间安装了库。对我来说,有效的方法是:在“ Pods”项目中的“ Target Support Files”文件夹中,我选择了两个正确的.xcconfig文件,并将它们拖到我的应用程序项目的“ Pods”文件夹中。这样可以在基本配置上选择正确的配置文件。但是,如果我再次运行“ pod install”,则警告将更改为以前的.xcconfig文件。我尝试从主项目中删除文件和旧框架,但是当我再次运行上一个命令时,给了我同样的警告,并在我的应用程序项目的“ Pods”文件夹下创建了文件“ Pods.framework”。我忽略了它,尽管有两个框架,它似乎运行正常。我不知道这是否正确,如果有解决方案,它将受到欢迎。

评论


这并不能真正回答问题。如果您有其他问题,可以单击“提问”来提问。一旦您有足够的声誉,您也可以添加赏金以吸引更多对此问题的关注。

–彼得·科列涅夫(Petro Korienev)
2015年11月4日,13:47

感谢您的解释Petro。我只是想分享对我有用的结果(带有警告,但仍然),但是将来我会更加小心。

–巴勃罗
2015年11月4日15:54

#16 楼

我有错误:
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的路径,并对其进行了更正并再次安装,它才起作用。 .xcworkspace(如果已经存在)。

#17 楼

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


从项目库中删除Podfile和Podfile.lock(将Podfile保存在某个位置,以便可以轻松粘贴到新的Podfile) br />运行'pod init'
根据需要编辑'Podfile'(添加您正在使用的Pod)
运行'pod install'

这将重新创建一切并起作用总是在几分钟之内(无需花时间对“错误”进行反向工程)。