xcode中项目管理xcworkspace的使用

时间:2023-01-24 15:34:22

像平时比较平常的开发项目中,我们都只是去创建一个PROJECT,这个PROJECT对应着我们该项目的TARGET,一个PROJECT可以对应着多个TARGET,到目前为止我的开发工作中还没有遇见过这种情况。题外话就此结束,今天我们要认识了解的是使用xcode中的xcworkspace来管理我们一个项目中存在多个PROJECT的情况。

那么在什么情况下我们的项目中会拥有多个PROJECT啦?下面两种情况

1.我们就只是简单的想用workspace来管理独立的PROJECT项目

2.多个PROJECT之间相互依赖的情况下,比如我们Fun1项目需要使用Fun2项目产生的静态库,也就是说Fun1项目现在就要依赖Fun2项目了,在以前,我们可以单独创建Fun2,然后创建出Fun2的静态库文件,然后再在Fun1项目中导入这个Fun2.a静态库。但是我们使用workspace来管理多个项目的时候,就不用像以前的那种做法了。

那么下面我们来具体操作一下:

1.在某个目录下创建好一个workspace项目

File -> New -> Workspace

2.主动去更改设置编译文件输出路径

Xcode -> Preferences -> Locations

xcode中项目管理xcworkspace的使用

xcode中项目管理xcworkspace的使用

3.创建一个静态库项目Lib,往xcwordspace文件中添加该静态库项目

File -> Add Files to "xxx"  -> Lib.xcodeproj

4.静态库的具*作过程就不去说了,我们看看这个Lib中的内容

xcode中项目管理xcworkspace的使用

5.编译好静态库文件后,我们去看看静态库输出在那个位置

xcode中项目管理xcworkspace的使用

错,就是在我们之前设置的输入路径中。

6.此时,如果像平常那样去使用这个静态库,那么我们就需要导出静态库和头文件,放入到要使用该静态库的项目中。然而,既然我们使用了workspace,那么我们就不用那样去做,而是直接在workspace中来使用。

7.我们在Fun1项目中使用Lib.a这个静态库

Fun1 -> TARGET -> Build Phases -> Link Binary With Libraries 

xcode中项目管理xcworkspace的使用

8.接着我们尝试去使用这个Lib.a,会报错,出错原因见图片说明

xcode中项目管理xcworkspace的使用

9,那我们怎么去修改啦?$(BUILT_PRODUCTS_DIR) 表示(Debug-iphoneos,Relese-iphoneos)

xcode中项目管理xcworkspace的使用

10,我们再来使用一次

xcode中项目管理xcworkspace的使用

11. OK 啦,整个过程就可以了!