Xcode添加子工程及其环境配置

5,655 阅读1分钟

原文链接:https://www.jianshu.com/p/6b02bab19ba3

最近项目收到一个新需求,需要添加子工程分解项目一部分功能,👇将学到的一些东西分享下; 示例: 主工程(AddSubProjectDemo) 子工程(subProject)

1. 创建主工程(AddSubProjectDemo)以及子工程(subProject)

这里注意一下子工程创建的时候是Cocoa Static Library

子工程创建示例图
两个工程创建完毕如图:

2.添加子工程及其依赖
2.1 子工程拖进主工程文件目录中:

2.2 打开主工程添加子工程

这里可以选择Drag或Add File to "AddSubProjectDemo",结束后如图:

2.3 在主工程中添加子工程依赖(.a文件)

在工程target -> Build Phases -> Link Binary With Libraries中添加libsubProject.a

2.4 在主工程中添加子工程头文件

在工程target -> Build Settings -> Search Paths -> Header Search Paths中加入子文件目录;

关于Header Search Paths这里说明一下:

  1. $(inherited) target在设置自己路径的时候如果加了这个,那么就是继承project里设置的路径。如果不需要继承就不加,要不然乱加有可能整混导致路径错误。
  2. 带引号的路径和不带引号的路径 带引号主要是预防路径里有空格导致本来一个路径变成了两个路径,因为空格分开就被解析位两个路径,所以最好路径带上引号。
  3. $(SRCROOT) / $(PROJECT_DIR)基本没啥区别,都是指向*.xcodeproj所在的路径
  4. recursive遍历该目录,non-recursive默认路径设置;不遍历该目录。

工程环境配置好后,本例在子工程加了一个类方法打印,主工程回调,最终效果如下:

附上demo工程: demo下载

参考文章: Xcode创建子工程以及工程依赖 Xcode Search Paths相关配置 xcode环境设置