Xcode 4 – build立输出目录

我在Xcode4(testing版5)中设置/定位我的输出文件时遇到了问题。 它们被放置在~/Library/Developer/ugly_path/...某处。 我甚至不能在我的产品上select“show in finder”。 简单的C项目,基础工具,甚至cocoa捆绑都是一样的。 debugging工作正常。

你能否指出我在哪里以及如何build立/build立输出目录? (我知道这听起来很愚蠢,我已经在Xcode3中编写了几个月,但是我无法在Xcode4testing版中find它)。

非常感谢。

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

你有2个选项:

  1. 在派生数据位置放置构build产品(推荐)
  2. 将构build产品放置在目标指定的位置

更新:在xcode 4.6.2上,您需要单击派生数据文本字段下方右侧的高级button。 build立位置select传统。

如果从命令行构build,则可以通过以下方式设置输出目录:

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

在Xcode 5中: Xcode菜单> 首选项… >项目> 位置选项卡> 位置子选项卡> 高级…button> 自定义选项。

然后select相对于工作区

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

保留派生数据,但使用DSTROOT来指定目的地。

使用DEPLOYMENT_LOCATION强制部署。

使用未logging的DWARF_DSYM_FOLDER_PATH也可以复制dSYM。

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

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

通过查看构build日志查看器,可以随时查找构build目录,并将path复制到terminal窗口中。

我使用它来分析我的iOS应用程序包之前,他们被安装,以确保没有杂散的文件被列入。

对于任何想从脚本查找构build目录但不想更改的人,请运行以下命令,获取指向DerivedData中文件夹的所有构build设置的列表:

 xcodebuild -showBuildSettings | grep DerivedData 

如果你运行自定义的目标和scheme,请把它们放在那里:

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

查看输出以find所需的设置输出,然后:

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

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

如果您使用新的Xcode4工作区,您可以更改文件 – > 工作区设置下的派生数据位置

您可以使用CONFIGURATION_BUILD_DIR环境variables来configuration输出目录。

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

在开始使用Xcode偏好设置之前要检查的另一件事是:

select您的目标并转到生成设置>打包>包装扩展

那里的价值应该是: app

如果没有双击它,并input“app”没有qoutes。

这太讨厌了 打开你的项目,点击目标,打开构build阶段标签。 检查您的复制束资源的任何红色项目。