iOS开发workspace和多个target

一、workspace的作用:

1、一个项目复用代码:可以关联多个工程文件,便于复用代码,提高开发效率。

2、开发多个项目:同时开发多个项目的时候可以使用workspace,把这几个项目关联起来。

3、模块化:开发SDK时用workspace,可以将各个功能不同的库文件(.a  or  framework)模块化,分开管理。

二、workspace的使用:

1、创建workspace:

先创建一个工作文件夹,然后在Xcode的File —> New —> workspace。

2、创建工程:

创建多个工程(.xcodeproj)文件,可以是多个项目。也可以是一个项目多个.a静态库。

3、将workspace和工程文件关联起来:

xcode7可以add,xcode6之前都是拖进来。

三、配置:(这个是重点)  怎么设置参考下面的文献。

1、对于编译有静态库的xcworkspace 可以设置静态库和主工程文件的先后的编译顺序。

2、设置主工程的头文件搜索路径:header search path :

 $(BUILT_PRODUCTS_DIR)/include/静态库的名字.  

3、注意点:

  3.1、静态库的编译一定要编译真机的,要不一直都是红色的,不能用。只有编译了真机的才能变成灰色。

  3.2、静态库中使用了分类文件 一定要在 other link flag 添加 -ObjC 

  3.3、把一些需要对外暴露的头文件添加到 build Phases 的 copy file中。

详情在参考文献。

可参考以下文献:

1、http://w11h22j33.iteye.com/blog/1819016

2、https://yq.aliyun.com/articles/8315

3、http://www.jianshu.com/p/1308a199f168

4、http://w11h22j33.iteye.com/blog/1819016

5、http://blog.csdn.net/itszfung/article/details/44887653

6、http://www.cocoachina.com/ios/20150127/11022.html

7、http://blog.csdn.net/itianyi/article/details/23852133

8、http://blog.csdn.net/yongyinmg/article/details/41522391

9、http://www.jianshu.com/p/b6c59d8ed2c9

添加多个target

一个项目中只能有一个project,一个project 可以有多个target。

可以理解成 一个target对应一个product。就是说,一个target对应一个APP。

一般是在同时开发iPhone app 和iPad app时会使用两个target来配合开发.

这样的好处是可以将两个app 复用相同代码。减少代码量。但是需要定义 “预编译宏” 来做区分。

配置方式:Build Settings —> preprocessor macros 中设置预编译宏。 注意要搞清楚是对哪个target设置的“预编译宏”。 

原文地址:https://www.cnblogs.com/fs-ios/p/5345071.html