美文网首页
One Project Multiple Targets

One Project Multiple Targets

作者: 爆炸头的波波安 | 来源:发表于2016-12-05 15:58 被阅读86次
封面.jpg

前言

公司想同一份源码bulid多个版本。但不想多branch进行管理。最终确定Multiple Targets的方案。基本步骤如下
1.初始化一个新的工程命名为MultipleTargetsDemo
复制一个Target:

1.png
修改Target名字:
2.png

修改Bundle Identifier:


3.png

2.新添加一个NewAssets.xcassets文件,我们现在演示不同的target用不同的Apple Icon运行。源target还是引用Assets.xcassets文件的Apple Icon。我们为Assets.xcassets 添加Icons

4.png
而为NewAssets.xcassets添加APPIcon文件但保持Icon还是保持为空: 5.png

点击相应的target文件选择Bulid Phases,在Copy Bundle Resources里面选择我们相应target所需要的文件剔除不要的文件。比如源target需要Assets.xcassetsnew target需要NewAssets.xcassets文件。

6.png 7.png

当然,以后你也需要根据你的项目需求去选择Compile Sources文件。

8.png

生成的效果:

9.png

3.在AppDelegate协议里面添加:

NSLog(@"执行了该段代码");

你会发现那个Target的都会执行该段代码,可是这并不是我们想要的。
所以我们会在Preprocessor Macros字段去设置宏来分辨版本。

屏幕快照 2016-12-04 下午11.49.12.png 屏幕快照 2016-12-04 下午11.49.23.png
#ifdef New
    NSLog(@"New");
#elif Old
    NSLog(@"Old");
#endif

你可以发现当我们运行源版本的时候就算新的target有问题都可能运行成功。这是比多分支实现多版本分发的优势之一。

demo地址

相关文章

网友评论

      本文标题:One Project Multiple Targets

      本文链接:https://www.haomeiwen.com/subject/wfgkmttx.html