Ios 可可豆的所有源文件都编译了两次

Ios 可可豆的所有源文件都编译了两次,ios,objective-c,xcode,Ios,Objective C,Xcode,我有一个Xcode项目(目标c,Xcode 8.2.1) 每当我进行“清洁构建”并再次构建时,都需要很长时间。我开始研究原因,我注意到我所有的pod源文件都被编译了两次(我想这会使编译时间加倍) 在Xcode的顶部,您可以看到构建过程的状态 您可以在上面的屏幕截图中看到,Xcode正在为RealmPod编译142个源文件,但它只有71个源文件。我所有其他的豆荚都有同样的问题 我测试了创建一个新的xcode项目并添加pod,然后我没有遇到与此项目相同的问题 @Bdash建议我可能将构建设置“仅构

我有一个Xcode项目(目标c,Xcode 8.2.1)

每当我进行“清洁构建”并再次构建时,都需要很长时间。我开始研究原因,我注意到我所有的pod源文件都被编译了两次(我想这会使编译时间加倍)

在Xcode的顶部,您可以看到构建过程的状态

您可以在上面的屏幕截图中看到,Xcode正在为RealmPod编译142个源文件,但它只有71个源文件。我所有其他的豆荚都有同样的问题

我测试了创建一个新的xcode项目并添加pod,然后我没有遇到与此项目相同的问题

@Bdash建议我可能将构建设置“仅构建活动体系结构”设置为“否”,但我已经检查了这一点,并将其设置为“是”


P> >这里有什么问题吗?

< P>不幸的是,领域是一个大型项目,有大量C++和ObjaveC++源文件,通常需要一段时间来编译(特别是在清理生成文件夹之后)。构建Realm所需的确切时间取决于运行的是哪种类型的计算机Xcode,但对于较旧的硬件来说,您提供的数字似乎并不合理。

当您有自定义的构建配置名称时,这种情况往往会发生。也就是说,如果您的名称不是
Debug
Release
,cocoapod将把这些配置视为Release配置。除其他事项外,这意味着启用优化并将这些POD的
buildactivearchitecture Only
标志设置为
YES
。这两个选项都会妨碍
Debug
配置的编译时间

要修复它,您必须指定哪些配置是
Debug
配置。接下来,您必须更改
pod文件
,使其看起来像这样:

project 'MyApp', 'MyAppRelease' => :release, 'MyAppDebug' => :debug

Realm只有约70个源文件。当您只需要为一个架构构建应用程序时,是否可能为多个架构构建应用程序?您可以通过检查Xcode中的“仅构建活动体系结构”配置设置来确定这一点。感谢您的评论。“仅构建活动体系结构”设置为“是”,因此这不是问题所在。我进一步挖掘了一下,结果发现我所有的pod源文件都是重复的,而不仅仅是realm(我刚发现了这个pod,因为它花了很长时间编译)。我会相应地更新我的问题。谢谢你的评论奥斯汀。我知道Realm也需要很长时间,但是正如bdash所指出的,所有源文件都被添加了两次,这使Realm(和所有其他pod)已经很长的编译时间翻了一番。Victor,您的解决方案解决了这个问题。非常感谢。