~/Library/Developer/Xcode/DerivedData
现在是默认设置。
您可以在 Xcode 中设置首选项以允许项目指定其构建目录。
它应该位于:~/Library/Developer/Xcode/DerivedData
。
如果您更改了默认值,您可以通过转到 File->Workspace Settings 然后查看构建位置来查看构建目录的位置
您可以使用 CONFIGURATION_BUILD_DIR
环境变量配置输出目录。
.../Xcode/DerivedData
中应用名称后的随机文本)谢谢!
https://i.stack.imgur.com/vUVCb.png
https://i.stack.imgur.com/nz49A.png
配置 XCode 项目设置,它可以解决您的问题。
Xcode 构建文件夹
工作区
默认情况下,Build location
在 Derived Data
中。
请注意:如果您在开发过程中删除 DerivedData 并重新构建它,则可以更改产品的路径。
Xcode -> Preferences... -> Locations
您可以更改 Build location
的位置。它将对整个工作区产生影响
File -> Project/Workspace Settings... -> Advanced
目标
如果您想为目标创建自主 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
我自己也有同样的疑惑。我发现在文件(菜单)下有一个项目“项目设置”。它会打开一个对话框,其中包含 3 个选项:“默认位置”、“项目相对位置”和“自定义位置”“项目相对”将构建产品放在项目文件夹中,就像以前一样。这不在“首选项”菜单中,并且必须在每次创建项目时进行设置。希望这可以帮助。
对于之前在 Xcode3 中创建的项目,我在 build/
下看到一个名为 Foo.build
的中间目录,其中 Foo
是我的项目名称,然后是您期望的目录(Debug-iphonesimulator、Release-iphoneos、等,假设您已经完成了该类型的构建)包含目标文件和产品。
现在,我怀疑如果你在 Xcode4 中启动一个新项目,默认位置是在 DerivedData 下,但是如果你在 Xcode4 中打开一个 Xcode3 项目,那么 Xcode4 使用 build/ 目录(如上所述)。所以,有几个正确的答案。 :-) 在“文件”菜单的“项目设置”下,您可以看到您可以根据需要自定义 XCode 在这方面的工作方式。
在调试运行的情况下
~/Library/Developer/Xcode/DerivedData/{your app}/Build/Products/Debug/{Project Name}.app/Contents/MacOS
您可以找到独立的可执行文件(Mach-O 64 位可执行 x86_64)
对我来说,它是在:
/Users/{您的用户名}/Library/Developer/Xcode/DerivedData...
而不是在 /Library/Developer/Xcode/DerivedData...
您可以使用项目设置更改构建目录,但这些设置似乎没有保存在共享设置中,因此很难将它们放入源代码控制中,这使得创建从源代码控制获取所有内容的自动构建变得困难第一的。
我的解决方法:将脚本添加到项目中,以将构建的文件复制到您喜欢的任何地方。在 Xcode 中选择目标(这些说明适用于 Xcode 12):单击左上角的文件图标以打开项目导航器,然后单击 Xcode 图标旁边的项目名称,然后单击右侧窗格中的目标.现在单击 Build Phases 选项卡,然后单击小加号,然后单击“New Run Script Phase”。
您可以输入一个应该是这样的脚本:
cp -R ${BUILT_PRODUCTS_DIR}/MyProduct.framework ${PROJECT_DIR}/MyProduct.framework
此示例适用于框架项目,因此它将整个框架目录复制到项目目录(您的 .xcodeproj 文件所在的位置)。现在,当您使用 xcodebuild 在命令行上构建时,您构建的产品将位于已知位置。
.../XCode/DerivedData/
文件夹,很简单。除了子文件夹似乎是AppName-asdflkjqwergoobledygook
。由于我是从脚本构建的,因此我想真正find构建(这样我就可以打包它并通过TestFlight 发送:) 如何确定众多MyAppName-xxxx
-s 中的哪一个是对的吗?谢谢! (注意 Heath:在这种特殊情况下,我不想使用CONFIGURATION_BUILD_DIR
参数强制输出,因为它会弄乱旧的目标依赖项。)