Xcode:通俗易懂的目标和scheme是什么?

是的标题说:-)它们在简单的英语语言中是什么意思? 我真的不明白在苹果的网站上的解释,我需要重新命名我的目标,恐怕没有任何工作后..

我已经在Workspace和Project中添加了!

  • 工作区 – 包含一个或多个项目 。 这些项目通常相互关联
  • 项目 – 包含代码和资源等(您将习惯于这些!)
  • 目标 – 每个项目都有一个或多个目标。
    • 每个目标都定义了该项目的构build设置列表
    • 每个目标还定义了一个类,资源,自定义脚本等列表,以便在构build时包含/使用。
    • 目标通常用于同一个项目的不同分配。
      • 例如,我的项目有两个目标,一个“正常”版本和一个“办公室”版本,具有额外的testingfunction,可能包含多个背景音乐曲目和一个button来改变曲目(就像它现在这样做)。
      • 在添加类时,您将习惯将类和资源添加到默认目标。
      • 您可以select将哪些类/资源添加到哪个目标。
        • 在我的例子中,我有一个“DebugHandler”类被添加到我的办公室构build
      • 如果您添加testing,这也增加了一个新的目标。
  • scheme – 一个scheme定义当你按下“Build”,“Test”,“Profile”等时会发生什么
    • 通常,每个目标至less有一个scheme
    • 你可以通过Scheme> Manage Schemes自动创build你的目标scheme,然后按下“Autocreate Schemes Now”

我是一个视觉的人,因此解释我将使用一个图的概念。

当你有多个目标时,他们可以与Xcode的Run,Test,Profile动作一一对应,这个概念定义了一个scheme

在这里输入图像描述

一个目标是你的项目的一个版本,也就是说,在build立的时间内,目标在类和资源上略有不同。 一个项目可以有多个build立的时间设置为单独的分配要求。

目标是通过在Xcode中运行“build”创build的最终产品。 它可能是一个应用程序,或一个框架,或静态库,或unit testing包。 无论如何,它通常对应于“build成的产品”文件夹中的单个项目。

一个计划代表你们一起工作的目标集合。 它定义了在Xcode(Run,Test,Profile等)中select各种动作时使用的目标。通常情况下,您只有一个scheme,该scheme使用运行,存档和configuration文件操作的主要应用程序目标,testing操作的unit testing目标。 如果您正在构build两个相关的应用程序,则可能有两个使用相同unit testing包但不同应用程序目标的scheme。

(在Xcode 4中引入的)scheme的主要优点是它们允许您在运行应用程序和unit testing之间进行切换,而无需切换选定的目标。