多个Target管理控制生产和开发版本

Posted Yancey_Chan

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了多个Target管理控制生产和开发版本相关的知识,希望对你有一定的参考价值。

简单的使用多Target步骤

  1. 复制出一个新的Target
    技术分享
    复制出来的新Target名字如下
    技术分享
  2. 修改Target的名字、plist名字和Scheme名字
    将Target、plist和Scheme的名字修改成自己喜欢的名字。如CYSTest-dev。
    Target名字直接右键修改;
    Scheme名字修改如下图:
    技术分享
    在这里直接修改
    技术分享
    plist文件的名字修改过之后,要给对应Target选择回plist文件
    技术分享
    技术分享

到这一步之后,基本一个新的Target就完成了。接着可以对新的Target进行一些修改,让它和原来的Target区分开来,方便我们调试的时候分辨出谁是谁。

  1. 修改Bundle Identifier
    技术分享
    之后运行这2个Target之后,在模拟器上,就看见他们分别是2个APP了。我们还可以修改他们的app名字,区分的更清楚。
    技术分享

    注意:下面Bundle Display Name 默认是Product Name,所以,我们去修改Product Name就可以将app安装到手机/模拟器上的名字改成我们想要的名字。
    技术分享

在对应Target下,Build Settings,搜Product Name,修改对应的值。
技术分享
修改之后,如下
技术分享
运行2个Target,可以看见app 名字已经改好,方便我们区分2个Target
技术分享

  1. 配置预处理宏/编译器标识
    最后我们要配置Target的预处理宏/编译器标识,判断我们运行的是哪个Target,方便处理不同Target之间的区别。

技术分享

#if DEV
    NSLog(@"开发");
#else 
    NSLog(@"非开发");
#endif

Test-dev Target运行下,输出如下:

2016-03-31 11:34:10.387 开发版[2562:115035] 开发

也可以在对应的Target的Build Settins–Custom Compiler Flags中,Other C Flags 设置
技术分享
之后也是只要判断

#ifdef DEVELOP
    NSLog(@"这个是开发的");
#else
    NSLog(@"这个不是开发的");
#endif

dev Target 运行输出

2016-03-31 11:41:10.481 开发版[2673:122764] 这个是开发的
























以上是关于多个Target管理控制生产和开发版本的主要内容,如果未能解决你的问题,请参考以下文章

前端项目中使用git来做分支和合并分支,管理生产版本

ios多target开发

版本控制

版本控制

关于代码管理和发布策略

项目管理工具 SVN