Xcode 构建设置“构建产品路径”(CONFIGURATION_BUILD_DIR)是一个谎言?

2024-02-29

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

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

那么这是怎么回事呢?这个构建设置是否被简单地忽略了?控制输出目录的构建设置是什么?


This build setting is actually relative to the Derived Data setting. You can change this setting if you go to Xcode > Preferences > Locations, and change the Derived Data directory setting to whatever suits your needs (Default, Relative or Custom). Xcode settings illustration

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

  • 您可以硬编码路径,例如/build/${CONFIGURATION}${EFFECTIVE_PLATFORM_NAME},那么项目就会被构建到根文件夹下的build文件夹中。
  • 或者您可以选择在现有路径前面添加另一个环境变量。例如,要使路径相对于您的项目/工作空间(如您所料),您可以在原始值前面加上${SRCROOT}/,有效地创建了一个build项目/工作区根目录下的文件夹。

可以替换的设置${<setting>}叫做构建设置,并且在您开始构建项目时由 Xcode/xcodebuild 自动设置。 Apple 在此处维护可用构建设置的列表:
http://help.apple.com/xcode/mac/8.0/#/itcaec37c2a6 http://help.apple.com/xcode/mac/8.0/#/itcaec37c2a6

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Xcode 构建设置“构建产品路径”(CONFIGURATION_BUILD_DIR)是一个谎言? 的相关文章

随机推荐

  • 如何使用 javascript 限制附加函数?

    我有一个追加按钮 如果您无休止地单击它 它就会无休止地追加 假设我希望这个按钮执行 10 次 让我用幻想代码告诉你 p我在想什么 这样我就可以从错误中吸取教训 我知道这是错的 但嘿我正在学习 thismany 1 appendbutton
  • 如何按计数对列表列表进行排序?

    In C List
  • Angular ui-router,html5模式总是刷新到/

    我正在尝试在角度中使用 html5mode 以便我可以为 http myhost products 之类的页面添加书签 其中 products 是由 stateProviderRef state xxx 定义的路由 为此我已经 added
  • 如何使用 iOS 14 触发多播授权的本地网络对话授权

    根据 iOS 14 阻止访问本地网络的新政策 需要 com apple developer networking multicast 特殊权限才能访问本地网络 并且此访问应在授权对话框中由用户确认 尽管这个新功能没有完整记录 但苹果工程师在
  • 在 Android 上滑动列表查看项目(如 iPhone 邮件应用程序)

    我从 Android 开发开始 我试图创建一个ListView其行为类似于此图像的项目 在最后一步中 用户可以单击 更多 或 删除 另一个视图将像上一步一样保留在那里 并且用户将能够向右滑动以将视图放回到原来的位置 我已经尝试过使用一些有关
  • 使用 gnu-make 链接静态库时如何遵循链接顺序?

    我有以下问题 cc g O2 Wall Wextra Isrc rdynamic DNDEBUG build liblcthw a tests list tests c o tests list tests tmp ccpvGjZp o I
  • 应用程序沙箱:重命名文件不起作用

    我有一个基本的 Cocoa 应用程序 让用户管理文件列表 文件是通过拖放添加的 并且我在应用程序重新启动时将访问权限保留在安全书签中 到目前为止 一切都很好 允许应用程序读取和写入用户的文件 但重命名失败并出现权限错误 声称不允许我的应用程
  • Excel中的模式匹配

    我有一个包含两列的 Excel 工作表 第一列是关键词 第二列是消息 关键短语可能出现在消息栏中 我需要知道某个关键词在消息栏中出现了多少次 关键词是一列 消息是第二列 消息列是1个或多于1个关键短语的组合 串联 我需要找出每条消息包含多少
  • 让应用程序显示为 Android 锁屏?

    对此我还没有找到明确的答案 许多应用程序允许您构建 安装自定义锁定屏幕而无需root等 这就像安装应用程序一样 我在开发指南中找到了这个 http developer android com reference android view W
  • 如何使用requirements.txt中的pip和setup.py安装github zip文件?

    我正在与一个名为的图书馆合作lief由于它缺乏 pip 的完整 python 3 7 支持 我需要从以下链接安装它https github com lief project packages raw lief master latest p
  • 是否可以使用 HashSet 作为 HashMap 的键?

    我想用一个HashSet作为一个关键HashMap 这可能吗 use std collections HashMap HashSet fn main let hmap HashMap
  • jsTree 节点展开/折叠

    今天早上我遇到了优秀的 jstree jQuery UI 插件 一句话 太棒了 它易于使用 易于设计并且符合包装盒上的说明 我尚未弄清楚的一件事是 在我的应用程序中 我想确保在任何给定时间仅扩展一个节点 即 当用户单击 按钮并展开节点时 任
  • PyQt4 使用 __init__ 的不同方式

    所以 我正在尝试使用 PyQt4 从基本的 Python 转向一些 GUI 编程 我正在看几本不同的书籍和教程 它们似乎都有稍微不同的启动类定义的方式 一个教程是这样开始课程的 class Example QtGui QDialog def
  • 当简单捕获中的标识符显示为参数的声明符 id 时,没有编译器诊断

    关于 lambda 捕获的部分 expr prim lambda capture 5 http eel is c draft expr prim lambda capture 5 指出 如果 simple capture 中的标识符作为 l
  • 如何将结构数组传递给 C++ 中的函数

    我需要将结构数组传递给函数 我这样做 这是我的职责 void ShowRoutes Route routeList int n string title 这是函数调用 ShowRoutes routeList n Unsorted list
  • 如何在 Javascript 中循环键/值对象? [复制]

    这个问题在这里已经有答案了 var user 现在我想创建一个setUsers 方法接受一个键 值对对象并初始化user多变的 setUsers function data loop and init user 其中数据如下 234 joh
  • CTE 和 TEMP 表之间的主要区别是什么?

    使用有好处吗CTE s common table expressions 而不是使用temp tables 我对它们进行了性能测试 但我找不到它们之间有多大区别 使用有哪些优点和缺点CTE S CTE 和临时表之间最大的区别可能是 CTE
  • 按值设置选择选项“选定”

    我有一个select字段中包含一些选项 现在我需要选择其中之一options使用 jQuery 但是当我只知道value of the option必须选择那个 我有以下 HTML div class id 100 div
  • 安装 DBD::Oracle 时出错

    我正在尝试在我的 RHEL6 1 服务器上安装 Perl 模块 DBD Oracle 在此过程中 我遵循了以下步骤 安装以下 RPM oracle instantclient12 1 basic 12 1 0 2 0 1 x86 64 rp
  • Xcode 构建设置“构建产品路径”(CONFIGURATION_BUILD_DIR)是一个谎言?

    如果我创建一个新的应用程序项目 构建设置如下所示 它声称正在使用构建目录build Debug iphoneos 我认为这是相对于项目目录的 实际上 该项目被编译到 派生数据 目录下 Library Developer Xcode Deri