手动搭建自己的Workspace

前景摘要: 回忆一下, 当你创建一个工程的时候, 它是一个Project, 此时你打开工程都是通过 .xcodeproj文件, 但是当你项目中引入了通过cocoapods管理的第三方工程, 你再打开工程是通过 .xcworkspace文件, 有没有思考过这是为什么?

Workspace: 工作区的概念, 一个工作区中我们可以同时添加多个工程, 这些工程可以相互独立, 也可以彼此之间产生关联, 在这个工作区中, 我们可以快速的切换这些项目的开发工作, 非常方便.

通常情况下, 如果项目不复杂, 又不涉及到本地项目的引用(SDK工程), 一般是用不到Workspace的, 但是如果自己开发了一个功能性SDK, 想开放给其他人使用, 除了良好的API注释, 附带一个Example程序是相当必要的, 此时就可以很好地利用Workspace强大的功能, 接下来我们来实际操作一下整个构建过程.

示例环境:

Xcode 10.1

Swift 4.2

1. 创建Workspace

按照下图所示步骤或者使用快捷键(^ + command + N)

创建Workspace.png

创建Workspace.png

创建完成后, 在保存的路径中会出现这样一个文件, 看着应该很熟悉吧

创建完成.jpeg

创建完成后的文件目录.png

2. 创建 Main Project

跟平时创建一个project工程一样的操作, 只是最好在设置项目保存路径的时候, 需要设置一下, 如下图:

设置项目所属工作区.png

3. 创建 SDK Framework

创建Framework工程.jpeg

创建完成后的Workspace.jpeg

4. 关联Main Project 和 SDK Project

引用Framework.jpeg

5. 在SDK工程中创建一个类, 用来测试两个工程是否成功关联

注意: 如果希望引用该SDK的项目可以访问到的类和函数, 必须使用Public或open关键字进行修饰, 至于为什么, 自己可以查一下 open, public, fileprivate和private修饰关键字的区别, 此处就不再赘述.

创建测试类.jpeg

6. 调用SDK中的类

调用SDK中的类.jpeg

拓展: 如何将一个已经存在的SDK工程导入到自己的workspace中?

导入外部SDK工程.jpeg

总结: 点滴进步, 共同学习!