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

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


~/Library/Developer/Xcode/DerivedData现在是默认的。 你可以在Xcode中设置prefs来允许项目指定它们的构建目录。


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

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


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

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


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

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


如果调试运行

~/Library/Developer/Xcode/DerivedData/{你的应用}/Build/Products/Debug/{项目名称}.app/Contents/MacOS .app/

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


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


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


Xcode构建文件夹

工作空间

默认情况下,生成位置在派生数据中。

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

Xcode -> Preferences... -> Locations 

您可以更改“构建位置”的位置。它会对整个工作空间产生影响

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

目标

CONFIGURATION_BUILD_DIR

如果你想为目标创建一个自主构建位置,你可以更改位置:

Xcode v11及以上版本

Add User-Defined Setting -> CONFIGURATION_BUILD_DIR

v11前Xcode

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

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

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

Command CodeSign failed with a nonzero exit code

对我来说是:

\用户-{}-用户名的图书馆/ / Xcode开发商DerivedData ...

and NOT in /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在命令行上构建时,所构建的产品将位于一个已知的位置。