2010-11-20 93 views
214

我在Xcode4(测试版5)中设置/定位我的输出文件时遇到问题。他们被放置在~/Library/Developer/ugly_path/...的某处。我甚至不能在我的产品上选择“show in finder”。简单的C项目,Foundation工具甚至Cocoa包也是如此。调试工作正常。Xcode 4 - 编译输出目录

您能否指出我在哪里以及如何设置/构建输出目录? (我知道这听起来很愚蠢,我已经在Xcode3中编写了几个月,但我无法在Xcode4 beta中找到它)。

非常感谢。

回答

341

从顶部的Xcode菜单中,单击首选项,选择位置选项卡,查看构建位置选项。

你有2种选择:

  1. 将建立产品获得的数据的位置(推荐)由目标
  2. 指定位置
  3. 地方重新建造的产品

更新: 上的Xcode 4.6.2您需要单击派生数据文本字段下方右侧的高级按钮。构建位置选择传统。

+27

这个答案解释了为什么这个改变是作出了:http://stackoverflow.com/questions/5331270/why-doesnt-xcode-4-create-any-products – toofah 2011-03-25 22:48:54

+0

Xcode 5没有这些设置了。 – 2013-10-06 13:29:20

+3

骄傲的会员,你是什么意思,这些不在Xcode 5中?它们位于首选项 - >位置 - >派生数据 - >高级。 – 2013-12-16 18:36:50

8

您可以通过查看构建日志查看器,然后将路径复制到终端窗口中,随时查找构建目录。

我用它来分析我的iOS.app包,然后安装它们以确保没有包含任何迷路文件。

+0

如此轻松的Apple。不! – zaph 2011-09-26 17:21:20

+0

'通过查看生成日志查看器' - 伟大的一点! – 2012-10-23 09:46:39

+0

我在哪里可以找到这个构建日志?在Xcode中搜索“构建日志”帮助返回0个结果。 – devios1 2013-03-27 22:17:23

13

如果您将Xcode 4构建位置设置设置为“将构建产品置于派生数据位置(推荐)”,它应该位于〜/ Library/Developer/Xcode/DerivedData中。一个目录,项目名称将与一帮生成的字母的附加所以仔细看

1
+0

没有那与派生的位置/传统(每个目标)位置行为无关 – 2012-03-13 15:17:08

+0

是的。它以任何方式工作。从文档:“目录路径。标识用于激活构建配置的所有与构建相关的文件的目录。” – 2012-03-13 19:16:18

+0

nope。而不是xcode4,它依赖于“Xcode>首选项>位置>派生数据”设置,详见最多投票答案。 +你所指的文件最近在2010年更新了 – 2012-03-13 19:40:29

140

如果从构建命令行,你可以直接设置输出ory以下面的方式:

xcodebuild -workspace 'WORKSPACE_NAME.xcworkspace' \ 
      -scheme 'SCHEME_NAME' \ 
      -configuration 'Release' \ 
      -sdk iphoneos7.0 CONFIGURATION_BUILD_DIR='OUTPUT_DIRECTORY' 
+0

为了使我的sh脚本正常工作,我需要删除单引号并只写CONFIGURATION_BUILD_DIR =/Users/... – 2013-10-31 02:53:51

+0

@occulus,你是绝对正确的,因为在构建项目之后,这将无法建立测试目标,我认为如果你只是在构建它,可能没问题,但更好地使用绝对路径! – 2014-06-02 14:56:36

+0

如果其他人试图解决类似的问题,我说服XCode 6.x将链接的二进制*精确地放置在需要使用这个组合的地方:'''/ Users/moi/src/mozbuilds/xul3604/$配置)/ dist/bin''' – 2015-03-30 16:06:15

-1

这太恼人了。打开你的项目,点击目标,打开构建阶段标签。检查您的复制包资源是否有任何红色项目。

10

保留派生数据,但使用DSTROOT指定目标。

使用DEPLOYMENT_LOCATION强制部署。使用未公开的DWARF_DSYM_FOLDER_PATH也可以复制dSYM。

这使您可以使用来自xcodebuild的派生数据位置,而不必做古怪的东西来找到应用程序。

xcodebuild -sdk "iphoneos" -workspace Foo.xcworkspace -scheme Foo -configuration "Debug" DEPLOYMENT_LOCATION=YES DSTROOT=tmp DWARF_DSYM_FOLDER_PATH=tmp build 
2

如果使用新的工作区Xcode4,您可以更改导出的数据位置文件 - >工作区设置...

29

在Xcode中5:Xcode的菜单>首选项... item>地点选项卡>地点子选项卡>高级...按钮>自定义选项。

然后选择例如相对于工作空间

+8

愿你活到一百岁,健康,健康的先生。 *谢谢*! – WhozCraig 2014-05-01 02:32:41

3

对于谁想要找到一个脚本生成目录,但并不想改变它,运行以下命令以获取所有的构建设置指向的文件夹中DerivedData列表:

xcodebuild -showBuildSettings | grep DerivedData 

如果您运行自定义的目标和计划,请把它们放在那里还有:

xcodebuild -workspace "Foo.xcworkspace" -scheme "Bar" -sdk iphonesimulator -configuration Debug -showBuildSettings | grep DerivedData 

查看输出以找到您想要的设置输出,然后:

xcodebuild -showBuildSettings | grep SYMROOT | cut -d "=" -f 2 - | sed 's/^ *//' 

最后一部分在等号处剪切字符串,然后在开始处修剪空白。

0

另一件事来检查你开始与Xcode的喜好播放前的是:

选择目标并转到生成设置>包装>包装扩展

的值应该是:应用

如果没有双击它并输入“app”而没有qoutes。