iOS开发相关文件介绍:workspace、project、Target、Configuration

404 阅读1分钟

5ae56dbb71854e7fb00ebf1e32184df4~tplv-k3u1fbpfcp-zoom-crop-mark-1304-1304-1304-734.image.jpeg

workspaceprojecttargetconfiguration是我们开发中常见的文件类型,本文将探究他们是如何互相配合对开发中的资源和代码进行管理的;

workspace

主要用来管理project,也可以管理文件和资源,但由于target无法直接引用所以意义不大,一般不通过workspace直接去管理文件和资源;

project

project 中一般管理以下内容:targetconfiguration文件和资源

文件和资源

常见的有 .m.a.frameworkbundleplistassert等,project中管理的文件和资源并不会直接参与编译;

target

  1. 使用文件和资源进行编译的最小单位,target可以从project管理的文件和资源中选取部分进行编译,具体在Build Phases中进行相关配置;
  2. 不同的target可以配置不同的资源和文件,从而达到生成不同编译产物的需求;
  3. 使用多target来管理项目时,向project中添加文件和资源时所有用到的target都需要勾选;

configuration

  1. configuration可以理解为编译配置,每个project 默认有DebugRelease两个配置,可以在project - info中添加新的configuration
  2. 所有configuration最终都体现在 targetBuilding Setting中,即所有可以在Building Setting可以修改的项目都可以通过configuration来进行配置;
  3. cocoapods和大部分库依赖管理工具都是通过创建configuration文件进行配置实现修改项目依赖的效果;

scheme

  1. scheme是将target中的文件和资源按照配置的configuration进行编译中并产生编译产物(executable/static library/dynamic library)的基本单位;