ChatGPT解决这个技术问题 Extra ChatGPT

Xcode 的构建文件夹在哪里?

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

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

单击文件->项目设置。它告诉你那里的文件夹。请注意小“箭头”按钮 - 它会在查找器中为您打开文件夹。非常便利。
似乎已更新为文件 -> 工作区设置。

N
Nakilon

~/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 这个星球上是否有任何版本控制系统不提供忽略构建目录的方法?就像..甚至一个?
M
MikeKusold

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

如果您更改了默认值,您可以通过转到 File->Workspace Settings 然后查看构建位置来查看构建目录的位置


H
Heath Borders

您可以使用 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 中应用名称后的随机文本)谢谢!
N
Nic3500

https://i.stack.imgur.com/vUVCb.png

https://i.stack.imgur.com/nz49A.png

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


旧版构建系统已弃用!!!
y
yoAlex5

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

J
JKatzbeck

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


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

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

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


h
hajunho

在调试运行的情况下

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

您可以找到独立的可执行文件(Mach-O 64 位可执行 x86_64)


F
Flyview

对我来说,它是在:

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

而不是在 /Library/Developer/Xcode/DerivedData...


G
Graham Asher

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

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

您可以输入一个应该是这样的脚本:

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

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