Xcode中的target scheme 和 project

虽然平时开发中这几个东西不怎么在意,但是有时候还是要深究一下。
对此这几种东西有官方的解释官方的文档。但是是英文写的,而且只是概述。

project

project是包含了我们源代码的,包括xib、storyboard等等。一个project可以包括多个target。project里也设置了编译的选项等相关信息。

target

target就是具体的一个产品了,里面也有编译的选项相关信息,继承于project,但是可以更改。我们最终编译成的app就是一个target。

scheme

我个人理解就是一个编译过程测试集合等的一个选项,一个scheme对应一个target,但是一个target可以有多个scheme。scheme可以选择属于project还是workspace,如果属于project,则包含了这个project的workspace都可以使用。如果属于workspace,则只能这个workspace使用了。

workspace

是一个集合了众多project的空间。cocoapods就是利用这个,把所有的需要依赖的第三方库编译成一个project,然后和我们自己的project放在一个workspace中,不同的project就可以互相引用使用了。workspace中的工程默认都是在同一个编译目录下,也就是workspace的编译目录。由于每个工程中的文件都在workspace的编译目录下,所以每个工程之间的文件都是相互可以引用的。

你可能感兴趣的:(Xcode中的target scheme 和 project)