XCode同一Project下创建多个target

一:项目背景

  在实际开发过程中难免会遇到同一个项目要发多个版本来服务于业务的需求,而两个版本仅有微小的不同.

比如我们要发的版本有:

1.测试版(给测试组,用于上线前测试)

2.线上版(给测试组,用于测试后端上线后对前端的影响)

当然你还可以根据业务需求创建更多的target.

二:操作步骤

创建新的target有两种方式:

1.通过新建target

①:Xcode工具栏-File-->New-->Target(图1)

XCode同一Project下创建多个target

图1

②:选择Single View Application-->Next-->Produce Name -->Finish (图2.3)

XCode同一Project下创建多个target

图3

③:target在项目工程中呈现如下(图4)

XCode同一Project下创建多个target

图4

  这种产生target的方法,其实是产生了一个项目target,他有自己的初始化AppDelegate,ViewController以及配置参数.

  然而我们并不希望他有自己的类以及参数而是更希望它能拥有之前target的类以及参数,并且我们能修改部分类或参数. 

So,来看下第二种.

2.在原来的target上复制

①:选择Base target-->右键点击-->选择Duplicate(图5)

XCode同一Project下创建多个target

图5

②:新target在项目中会生成一个XXX copy target,一个XXX copy Scheme,一个XXX copy-Info.plist(图6)

XCode同一Project下创建多个target

图6

③:改名

a.修改新的target名字-->双击修改(图7)

XCode同一Project下创建多个target

图7

b.修改新的plist文件,直接双击修改名称就可(图8)

XCode同一Project下创建多个target

图8

默认plist文件在project下面,如果你想修改路径可以Remove Reference,然后挪到比如说Supporting Files下,然后再Add进来.(图9)

XCode同一Project下创建多个target

图9

然后在点到target-->Build Settings-->搜索Info.plist File...(图10), 填上指定的info.plist路径即可
(原文的设置位置变了,所以只好自己截了个图)

XCode同一Project下创建多个target

图10

刷新后修改Display Name 以及 Bundle Identifier(图11)

XCode同一Project下创建多个target

图11

c.修改Scheme名称

选择对应target-->Edit Scheme...(图12)-->Manage Schemes...(图13)-->慢速单击-->再单击-->修改名称(图14)

XCode同一Project下创建多个target

图12

XCode同一Project下创建多个target

图13

XCode同一Project下创建多个target

图14

大功告成!  https://github.com/guochaoshun/Multiple_Projects_Target