Xcode构build设置“构build产品path”(CONFIGURATION_BUILD_DIR)是谎言?

如果我创build一个新的应用程序项目,构build设置如下所示:

在这里输入图像说明

它声称使用构build目录生成build/Debug-iphoneos 。 我认为这是相对于项目目录? 实际上,这个项目被编译到~/Library/Developer/Xcode/DerivedData/CryptoTest2-abc...下的“派生数据”目录中~/Library/Developer/Xcode/DerivedData/CryptoTest2-abc...

那么这里发生了什么? 这种构build设置是简单的忽略? 什么是控制输出目录的构build设置?

此构build设置实际上是相对于派生数据设置。 如果转到Xcode>首选项>位置,可以更改此设置,并将派生数据目录设置更改为适合您的需要(默认,相对或自定义)。 Xcode设置插图

如果您为该设置指定绝对path,则还可以在每个项目的基础上指定此项:

  • 您可以对/build/${CONFIGURATION}${EFFECTIVE_PLATFORM_NAME}类的path进行硬编码,然后将该项目内置到构build在根文件夹中的文件夹中。
  • 或者你可以select预先用另一个环境variables来存储现有的path。 例如,要使path相对于您的项目/工作区(正如您所期望的那样),您可以在${SRCROOT}/预先添加原始值,从而在项目/工作区的根目录下有效地创build一个build文件夹。

可以在${<setting>}中replace的${<setting>}称为“ 生成设置” ,并且在您开始构build项目时由Xcode / xcodebuild自动设置 。 Apple在这里维护一个可用的构build设置列表:
http://help.apple.com/xcode/mac/8.0/#/itcaec37c2a6

转到文件 – > 工作区设置 – > 高级,然后select传统