Xcode一个项目中建立多个工程

Xcode里面是可以同时存在多个工程的。可以通过存放在同一个工作空间来实现同一个Xcode页面存在多个工程,也就是有多个xcodeproj。如下图所示。

Xcode一个项目中建立多个工程

在Xcode页面中管理3个工程

这样不仅可以方便管理几个相似功能的工程,更重要的是,可以实现多工程联编。

接下来我们会做一个多工程的Demo

  1. 建立一个工作空间MyWorkspace。
  2. 使用方法一建立一个普通的Xcode工程MyApp1添加到MyWorkspace。
  3. 使用方法二建立一个普通的Xcode工程MyApp2添加到MyWorkspace。
  4. 建立一个SDK工程MySDK添加到MyWorkspace。实现联编。

1.建立一个工作空间MyWorkspace

Xcode里面,建立一个工作空间。File->New->Workspace,命名为Myworkspace,存放在文件夹MyWorkspace中(名字都是可以随便命名的)。

Xcode一个项目中建立多个工程

新建一个workspace

这样我们就建立了一个空的工作空间。然后我们就可以往这个工作空间中加入几个Xcode工程。

2. 使用方法一建立一个普通的Xcode工程MyApp1添加到MyWorkspace

File->New->Project 新建一个名为MyApp1的app工程文件。为了便于管理,我们把他放在MyWorkspace文件夹中。创建完成后
在工作空间的Xcode工程中,File->Add File To "MyWorkplace",选中刚才创建的MyApp1工程。这样MyApp1工程就添加到了MyWorkplace中了。

Xcode一个项目中建立多个工程

创建一个普通的App工程

Xcode一个项目中建立多个工程

将MyApp1添加到MyWorkspace

3. 使用方法二建立一个普通的Xcode工程MyApp2添加到MyWorkspace。

我们用另外一种方法添加一个工程到MyWorkplace工作空间中。
File->New->Project 新建一个名为MyApp2的app工程文件。在存放工程的界面中,将下面的Add to : 选择成MyWorkspace。这样MyApp2工程就添加到了MyWorkplace中。到此,我们就可以在一个Xcode的界面中同时管理两个工程了。

Xcode一个项目中建立多个工程

建立工程的时候将工程添加到MyWorkspace中

4. 建立一个SDK工程MySDK添加到MyWorkspace。实现联编。

但是多工程使用的精髓并不在这里,而在于两个工程连编。(详细的生成过程 https://www.jianshu.com/p/713f8b2826c7)
我们新建一个名为MySDK的.a库。然后将这个MySDK工程添加到MyWorkplace,来实现MyApp2与MySDK联调。
File->New->Project->选择Static Library ,按照方法二添加到MyWorkspace。然后在MySDK里面创建一个sayHello类方法。在方法中打一个断点。将.a库拉到MyApp2里面。在ViewController里面调用sayHello方法。执行之后,断点就会停在MySDK工程中的里面。这样就可以在两个工程进行调试了。

Xcode一个项目中建立多个工程

建立一个静态库工程,添加到MyWorkspace

Xcode一个项目中建立多个工程

在MySDK中加一个sayHello方法

Xcode一个项目中建立多个工程

在MyApp2中调用sayHello方法

Xcode一个项目中建立多个工程

运行MyApp2,断点会停在MySDK工程.  nice,完成. https://github.com/guochaoshun/Multiple_Projects_Target