XCode同一Project下创建多个target

一:项目背景

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

比如我们要发的版本有:

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

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

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

二:操作步骤

创建新的target有两种方式:

1.通过新建target

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

图1

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

图3

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

图4

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

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

So,来看下第二种.

2.在原来的target上复制

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

图5

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

图6

③:改名

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

图7

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

图8

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

图9

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

图10

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

图11

c.修改Scheme名称

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

图12

图13

图14


如果要修改部分类,  以修改一个viewcontroller为例, 我们想要在debug和正式中使用不同的实现, 可以这么做.

先看正式版本的viewcontroller,  默认的.m文件taget membership是都勾选的,

既然我们想要这个文件有差异, 那么就把原始的viewcontroller.m中 "测试-debug"的取消勾选, 然后我们在新建一个同名的viewcontroller文件.

好了, 到这里就完成了, 在不同的target下, 都有一个viewcontroller, 不同target的实现可以是不一致的.

正式的

选择debug的target进行run, 发现log打印的是到差异类中, 编译的也是差异类的文件

 

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

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值