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

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

非常感谢。


当前回答

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

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

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

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

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

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

这里的值应该是:app

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

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

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

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

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