理解Xcode方案

15

根据文档,scheme是这样定义的:

"一个Xcode方案定义了一个要构建的目标集合、构建时要使用的配置以及要执行的测试集合。"

所以我想创建一个调试方案和一个发布方案,并相应地设置项目和目标的构建设置,即在发布方案中使用分发配置文件,在调试方案中使用开发配置文件。

但是当我选择不同的方案时,这些设置不会改变。实际上,当我将代码签名设置为发布时,它仍然保持不变-切换到不同的方案不会改变任何内容。

感谢您的澄清!

2个回答

27
您将构建配置和 scheme 混淆了。Xcode 项目有两个构建配置:Debug 和 Release。在构建设置编辑器中,您可以为 Debug 和 Release 构建配置赋予不同的构建设置值。单击构建设置旁边的展开三角形可以显示 Debug 和 Release 配置的值。在您的示例中,您将在构建设置编辑器中找到“代码签名标识”构建设置。将“代码签名标识”构建设置的值设置为 Debug 构建配置的开发人员配置文件,并将其设置为发布构建配置的分发配置文件。
在为 Debug 和 Release 构建配置设置构建设置后,请使用方案编辑器选择要使用的构建配置。方案编辑器具有以下操作,您可以在其中选择构建配置:运行、测试、配置文件、分析和存档。Xcode 最初使用 Debug 配置来运行、测试和分析,并使用 Release 配置进行分析和存档。运行操作是您最有可能在开发应用程序的过程中更改的操作。
在大多数情况下,您可以使用一个方案就足够了。通常不需要一个 Debug 方案和一个 Release 方案。您需要一个 Debug 和一个 Release 方案的主要原因是如果您需要同时为 Debug 和 Release 构建配置运行、测试、配置文件和分析应用程序。

这种解释了“是什么”,但没有解释“为什么”。作为多个平台上的开发人员,我发现XCode的额外“方案”抽象并不是很有帮助,通常只会妨碍工作。 - O'Rooney

4

与上面接受的答案相反,在Xcode 7中(至少如此),schemes确实保持自己的调试和发布设置。您可以维护单独的调试和发布“方案”,并使用它们通过快捷键Control-Command-左/右括号(上一个/下一个schemes)快速切换两个构建之间。

这样做的好处是在进行棘手的性能测试时能够快速地在发布版本和调试版本之间跳转。启用优化的发布版本会花费很长时间并混淆堆栈跟踪等问题。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接