我们项目中,默认建好是只有一个target的,但是,一些场景中,多target能帮助我们更好的使用项目。一般有以下两个常见场景:
场景1:
主功能都一样,可能就是只需要更换icon图标、bundleID等等信息,需要发布多款APP。场景2:
就是同一产品会有两种客户端构成,现在有很多这种场景下的项目,类似滴滴的司机端和乘客端,教学项目的学生端和教师端等等。
这种项目,会生成2个App,但其中很多东西可以共用,因此在一个项目里创建管理,会更好更方便。
============ 对于场景1 :=============
1、打开项目,找到TARGETS,选中第一个右击
819E5436-7ACA-433D-8015-DBB8D6CBC73E.png
然后选择Duplicate Only
DE858EEA-1F77-406D-8DEE-E72395493107.png
2、创建完成后,重命名targets、info.plist、schemes
5130C235-8622-4DCC-A5FD-881F30000FBF.png
EE44072A-7E01-4414-BE11-9F019034AE81.png
19F1AF5B-83E8-4EC1-B826-EC9FEEE3A746.png
F3802BE4-CA9E-401B-B803-995BA49E5715.png
然后记得choose info.plist File选择对应的info.plist文件。这样做的原因就是,如果仅仅重命名了,系统还是识别不了的,必须经过这几步,重新让系统识别plist文件。
F359D406-FA34-4446-B82D-A7C724C59573.png
3、上面准备工作基本完成,现在如果我要对不同环境下设置不同的相关配置描述,打开build Settings
- 如果是OC项目:
搜索macros关键字
EFE95306-D8A7-4ADC-96CC-A7CFF8034CD9.png
- 如果是Swift项目:
Swift比较特殊,不能在这边设置(设置无效),不过swift提供了另外一种方式设置:
511196-20170701132631243-829539518.png
这里注意两点:
- 1、加“”,用字符串格式
- 2、先写-D,一定要写,否则无效,所以要写两个指令,如上图所示
4、如何使用
06897F59-DBB2-43D7-B1E8-9F460053C9CE.png
============ 对于场景2:=============
使用如下方式新建target
511196-20161026171331750-1083013789.png
添加完,就会发现多出一个新的,变成这样。
511196-20161026171454000-542868199.png