我在 Xcode4(beta 5)中设置/定位我的输出文件时遇到问题。它们被放置在~/Library/Developer/ugly_path/...
. 我什至无法在我的产品上选择“在查找器中显示”。对于一个简单的 C 项目、Foundation 工具甚至 Cocoa 包也是如此。调试工作正常。
您能否指出我在哪里以及如何设置/构建输出目录?(我知道这听起来很愚蠢,我已经在 Xcode3 中编码了几个月,但在 Xcode4 beta 中我无法弄清楚)。
非常感谢。
从顶部的 Xcode 菜单中,单击首选项,选择位置选项卡,查看构建位置选项。
您有 2 个选项:
更新:在 xcode 4.6.2 上,您需要单击派生数据文本字段下方右侧的高级按钮。构建位置选择旧版。
如果从命令行构建,可以通过以下方式设置输出目录:
xcodebuild -workspace 'WORKSPACE_NAME.xcworkspace' \
-scheme 'SCHEME_NAME' \
-configuration 'Release' \
-sdk iphoneos7.0 CONFIGURATION_BUILD_DIR='OUTPUT_DIRECTORY'
在 Xcode 5 中:Xcode菜单 >首选项...项目 >位置选项卡 >位置子选项卡 >高级...按钮 >自定义选项。
然后选择,例如,相对于工作区。
如果您将 Xcode 4 构建位置设置设置为“将构建产品放置在派生数据位置(推荐),它应该位于 ~/Library/Developer/Xcode/DerivedData。该目录将您的项目作为目录放在其中,项目名称将附加一堆生成的字母,因此请仔细查看。
保留派生数据,但使用 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
您始终可以通过查看构建日志查看器并将那里的路径复制到终端窗口中来找到构建目录。
我使用它在安装之前分析我的 iOS .app 包,以确保不包含任何杂散文件。
对于想要从脚本中找到构建目录但不想更改它的任何人,运行以下命令以获取指向 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/^ *//'
最后一部分在等号处剪切字符串,然后在开头修剪空格。
如果您使用新的 Xcode4 Workspaces,您可以在File -> Workspace settings...下更改Derived Data Location ...
CONFIGURATION_BUILD_DIR
您可以使用环境变量配置输出目录。
在开始使用 Xcode 首选项之前要检查的另一件事是:
选择您的目标并转到Build Settings > Packaging > Wrapper Extension
应该有的值:app
如果没有双击它并键入不带 qoutes 的“app”。
这太烦人了。打开您的项目,单击目标,打开构建阶段选项卡。检查您的 Copy Bundle Resources 是否有任何红色项目。