Xcode 的构建文件夹在哪里?

Posted

技术标签:

【中文标题】Xcode 的构建文件夹在哪里?【英文标题】:Where is Xcode's build folder? 【发布时间】:2011-08-22 14:33:16 【问题描述】:

在 Xcode 4 之前,构建用于在我的项目的根文件夹中创建。 我再也找不到了。

在哪里可以找到构建文件夹?

【问题讨论】:

点击文件->项目设置。它告诉你那里的文件夹。 注意小“箭头”按钮 - 它会在查找器中为您打开文件夹。非常方便。 好像已经更新到文件->工作区设置 【参考方案1】:

~/Library/Developer/Xcode/DerivedData 现在是默认设置。 您可以在 Xcode 中设置首选项以允许项目指定其构建目录。

【讨论】:

好的,所以我的构建进入.../XCode/DerivedData/ 文件夹,很简单。除了子文件夹似乎是AppName-asdflkjqwergoobledygook。由于我是从脚本构建的,因此我想实际 find 构建(这样我就可以打包它并通过 TestFlight 发送 :) 如何确定众多 MyAppName-xxxx-s 中的哪一个是对的吗?谢谢! (注意 Heath:在这种特殊情况下,我不想使用 CONFIGURATION_BUILD_DIR 参数强制输出,因为它会弄乱遗留目标依赖项。) 您可以在 Xcode Preferences > Locations > Derived Data 中找到设置 构建结果通常不受版本控制,因此这实际上可能是对其他 IDE 的改进。 我喜欢它。以这种方式从版本控制中排除 obj bin 文件夹并不麻烦。唯一的问题是找到它,但是......谷歌。 @ArneEvertsson 这个星球上是否有任何版本控制系统不提供忽略构建目录的方法?就像..甚至一个?【参考方案2】:

它应该位于:~/Library/Developer/Xcode/DerivedData

如果您更改了默认值,您可以通过转到 File->Workspace Settings 然后查看 Build Location

来查看构建目录的位置

【讨论】:

【参考方案3】:

您可以使用CONFIGURATION_BUILD_DIR 环境变量配置输出目录。

来源:http://developer.apple.com/library/mac/#documentation/DeveloperTools/Reference/XcodeBuildSettingRef/0-Introduction/introduction.html#//apple_ref/doc/uid/TP40003931-CH1-SW1

【讨论】:

优秀。如果我让 XCode 做这件事,是否有一个变量可以告诉输出文件夹的名称? (我的意思是.../Xcode/DerivedData 中应用名称后面的随机文本)谢谢!【参考方案4】:

配置XCode项目设置,可以解决你的问题。

【讨论】:

旧版构建系统已弃用!!!【参考方案5】:

Xcode 构建文件夹

工作区

默认情况下Build locationDerived Data 中。

请注意:如果您在开发过程中删除 DerivedData 并重新构建,产品的路径可能会更改

Xcode -> Preferences... -> Locations 

您可以更改Build location 的位置。它会对整个工作区产生影响

File -> Project/Workspace Settings... -> Advanced 

目标

CONFIGURATION_BUILD_DIR

如果您想为目标创建一个自主的Build location,您可以更改位置:

Xcode v11 及更高版本

Add User-Defined Setting -> CONFIGURATION_BUILD_DIR

Xcode pre v11

Project editor -> select a target -> Build Settings -> Per-configuration Build Products Path (CONFIGURATION_BUILD_DIR) 

//default value
$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)

你可以得到下一个错误[About]

Command CodeSign failed with a nonzero exit code

【讨论】:

【参考方案6】:

我自己也有同样的疑惑。我发现在文件(菜单)下有一个项目“项目设置”。它会打开一个对话框,其中包含 3 个选项:“默认位置”、“项目相对位置”和“自定义位置”“项目相对”将构建产品放在项目文件夹中,就像以前一样。这不在“首选项”菜单中,并且必须在每次创建项目时进行设置。希望这会有所帮助。

【讨论】:

嗨,欢迎来到 ***。看起来这是一个老问题,并且已经有了答案。如果您认为您的答案与其他人不同且更好,欢迎大家发表您的答案。我建议您添加“您的答案与其他人的答案有何不同/更好”。这将帮助用户将其与其他答案区分开来。 阿米特,这个答案包括有关 GUI 当前显示的内容的更详细信息,这与以前不同。【参考方案7】:

对于之前在 Xcode3 中创建的项目,我在 build/ 下看到一个名为 Foo.build 的中间目录,其中 Foo 是我的项目名称,然后是您期望的目录(Debug-iphonesimulator,Release -iphoneos 等,假设您已经完成了该类型的构建)包含目标文件和产品。

现在,我怀疑如果你在 Xcode4 中启动一个 new 项目,默认位置在 DerivedData 下,但是如果你在 Xcode4 中打开 Xcode3 项目,那么 Xcode4 使用 build/ 目录(如如上所述)。所以,有几个正确的答案。 :-) 在“文件”菜单的“项目设置”下,您可以看到您可以根据需要自定义 XCode 在这方面的工作方式。

【讨论】:

【参考方案8】:

Debug运行时

~/Library/Developer/Xcode/DerivedData/your app/Build/Products/Debug/Project Name.app/Contents/MacOS

你可以找到独立的可执行文件(Mach-O 64-bit executable x86_64)

【讨论】:

【参考方案9】:

对我来说,它位于:

/Users/您的用户名/Library/Developer/Xcode/DerivedData...

并且不在 /Library/Developer/Xcode/DerivedData...

【讨论】:

【参考方案10】:

您可以使用项目设置更改构建目录,但这些设置似乎没有保存在共享设置中,因此很难将它们放入源代码控制中,这使得创建能够获取所有内容的自动构建变得困难首先从源代码管理。

我的解决方法:将脚本添加到项目中以将构建的文件复制到您喜欢的任何地方。在 Xcode 中选择目标(这些说明适用于 Xcode 12):单击左上角的文件图标以打开项目导航器,然后单击 Xcode 图标旁边的项目名称,然后单击右侧窗格中的目标.现在点击 Build Phases 选项卡,然后点击小加号,然后点击“New Run Script Phase”。

你可以输入一个类似这样的脚本:

cp -R $BUILT_PRODUCTS_DIR/MyProduct.framework $PROJECT_DIR/MyProduct.framework

此示例适用于框架项目,因此它将整个框架目录复制到项目目录(您的 .xcodeproj 文件所在的位置)。现在,当您使用 xcodebuild 在命令行上构建时,您构建的产品将位于已知位置。

【讨论】:

以上是关于Xcode 的构建文件夹在哪里?的主要内容,如果未能解决你的问题,请参考以下文章

当我在 Xcode 4 中“构建存档”时,文件在哪里?

Xcode 中的运行脚本和构建阶段在哪里?

Xcode下的git repo在哪里?

Xcode 4.2的resource在哪里

使用下载的 pkg 文件时,xcode 命令行工具安装在哪里?

如何告诉 Xcode 我的 info.plist 和 .pch 文件在哪里