我在Xcode4 (beta 5)中设置/定位输出文件时遇到了问题。它们被放置在~/Library/Developer/ugly_path/....的某个地方我甚至不能在我的产品上选择“显示在finder中”。对于一个简单的C项目、Foundation工具甚至Cocoa包也是一样的。A调试工作正常。

你能告诉我在哪里以及如何建立输出目录吗?(我知道这听起来很傻,我已经用Xcode3写了几个月的代码了,但我在Xcode4 beta版中无法解决这个问题)。

非常感谢。


在顶部的Xcode菜单中,点击preferences,选择locations选项卡,查看build location选项。

你有两个选择:

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

更新: 在xcode 4.6.2中,你需要点击右侧衍生数据文本字段下方的高级按钮。构建位置选择遗留。


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

我用它来分析我的iOS .app包安装之前,以确保没有丢失的文件被包括在内。


如果你的Xcode 4 Build Location设置为“将构建产品放置在派生数据位置(推荐),它应该位于~/Library/Developer/Xcode/DerivedData。”这个目录将把你的项目作为一个目录,项目名称将附加一堆生成的字母,所以请仔细查看。


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

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


如果你从命令行构建,你可以用下面的方式设置输出目录:

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

这太烦人了。打开您的项目,单击目标,打开构建阶段选项卡。检查你的拷贝包资源是否有红色的项目。


保留派生数据,但使用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

如果你使用新的Xcode4工作区,你可以在File ->工作区设置下更改派生数据位置…


在Xcode 5: Xcode菜单>首选项…item >位置标签>位置子标签>高级…button >自定义选项。

然后选择,例如,相对于工作区。


对于任何想要从脚本中找到构建目录但不想更改它的人来说,运行以下命令来获得指向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/^ *//'

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


在你开始使用Xcode首选项之前,另一件需要检查的事情是:

选择你的目标,然后去构建设置>包装>包装扩展

这里的值应该是:app

如果不是双击它,并键入“app”没有报价。