iOS 多工程编联(子工程为库工程)

iOS 多工程编联(子工程为库工程)

目前团队人数也越来越多,接触的项目也有所增加,这时我们一直使用的多工程结构优点就凸显出来了,最明显的就是辅助工程的静态库可以在每个项目中很容易地迁移复用。

一、先看一下工程结构目录:
《iOS 多工程编联(子工程为库工程)》

其中HHKit、HHSecurityNetwork、HHNetworking 相当于自己的工具库,一般是静态库工程的形成存在,当然如果不想让别人看见里面的功能实现也可以编译成静态库文件。

二、下面以实际工具库HHKit为例子新添加入一个demo工程中:

1、首先创建一个新工程 “MainProject”
2、cd到工程目录下命令 pod init 创建一个Podfile文件用于管理三方库
3、象征性地引入一个三方库,pod install 后会生成一个以工程名命名的工作空间,xcworkspace。实际上我们的工具类库工程都在此工作空间中添加和管理。
《iOS 多工程编联(子工程为库工程)》

三、向此主工程的工作空间中添加我们的工具库工程:

1、把工具库工程文件夹拖入到与主工程目录同级文件夹中。
2、在主工程里添加新文件

《iOS 多工程编联(子工程为库工程)》

选择工具库工程的project工程文件添加进来后结构就是如此:

《iOS 多工程编联(子工程为库工程)》

虽然目录结构成为多工程的结构了,但是我们在主工程中依然无法访问工具库中的文件。需要以下编联设置:

四、设置工程之间的编联信息:
1、链接器链接路径添加

《iOS 多工程编联(子工程为库工程)》

2、在Build Settings 中设置搜索路径:


《iOS 多工程编联(子工程为库工程)》

3、一般情况下我们的静态库都会暴露出头文件.h 以供引用,所以把工具库工程中的头文件暴露出来,在Build Phases中设置Header的公共类的暴露出来需要的头文件:


《iOS 多工程编联(子工程为库工程)》

至此,我们就可以在主工程中引用子工程库中的文件,访问里面的方法了:


《iOS 多工程编联(子工程为库工程)》

如有不恰当之处,希望朋友们多多指教~

    原文作者:wangshuaiyu
    原文地址: https://segmentfault.com/a/1190000014881757
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞