Xcode中一个工程如何引用另一个工程

时间:2022-12-04 14:46:50

如何在一个项目中引用另一个项目的代码呢,实现在项目中查看并编辑另一个项目的代码,像下面这种结构:

Xcode中一个工程如何引用另一个工程

首先在要添加到该项目下右击,选择“Add Files To “你要添加到的主项目A””,找到要引用的项目B的目录下的"B.xcodeproj"文件,直接确定引入即可

注意:

我第一次引入使用发现引入的只有一个“B.xcodeproj”文件,并不是一个类似于下面这种结构:B.xcodeproj目录下是该工程

Xcode中一个工程如何引用另一个工程

由于我是用的刚更新的xcode9.0,不知道是不是版本bug,一直无法成功,最后解决办法是重启xcode后,重新引用,就ok了


引入项目成功两个项目其实并没有关联到一起,我们还需要做一些额外的工作,来帮助两个项目关联到一起:

1,主项目关联项目B的编译后的文件“B.a”或者“B.framework”

Xcode中一个工程如何引用另一个工程

如上,首先找到主项目A的targets,再找到build phase下面的link binary with libraries

再将引入的项目B的编译后的文件“B.a”或者“B.framework”(可从项目b下面的product的目录通过Show in Finder直接找到,记得要编译B项目先!否则为红色。)拖拽到“link binary with libraries”该目录下即可

这样添加依赖就ok了,这边有一个注意点,如果项目B编译出来的是".a"库,记得要在项目A中增加“header search paths”来添加项目B的头文件,如果项目B编译出来是“.framework”就不需要了,因为里面已经有头文件了

2,这样的话,似乎是每次改动项目B,都需要单独编译一下项目B,再编译项目A,太麻烦了,可以在项目A中添加项目B的target依赖,这样每次编译项目A,顺带连着项目B一期编译了,如下

Xcode中一个工程如何引用另一个工程

如上,首先找到主项目A的targets,再找到build phase下面的Target Dependencies

点击+,找到项目B添加就可以了,这样,每次编译项目A,项目B也会自动被编译




好了,gg