Workspace有两个作用:1、项目管理;2、工程依赖
1、项目管理
项目管理是Workspace最基本的功能:有两个独立的项目,可以将这两个独立的项目添加到同一个Workspace中,这个时候可以在Workspace单独运行这两个项目,互不干扰,此时它就相当于一个项目仓库,我在实际运用中只是用来管理demo,这样方便我在多个demo时只需打开这一个Workspce文件。
比如图中的两个项目可以独立运行。
2、工程依赖(运用于模块化)
项目中有多个模块时,我们可以使用Workspace来进行模块化,最常看到的例子就是在cocoapods安装使用后,项目中就会自动帮我们创建一个Workspace,并且会添加Pods模块的Framework。
我们可以将独立的模块新建为Framework工程,添加framework工程到主工程中,然后进行配置,将生成的.framework加入到主工程中。在模块的framework中只暴露想要被使用的头文件,来进行解耦,另一方面,可以直接快速进行framework代码调试,也能为其他工程快速提供framework。
如下图所示:DHBluetoothLockKit是Framework,被主工程依赖。