iOS 同一个项目,创建多个target,打包不同版本的target

创建新的target有两种:

第一种:通过新建target(File ——> New——>Target)

1、Xcode创建新项目TargetDemo:

 2、创建新的target:File ——> New——>Target:

 

创建完成后会出现TargetDemoTwo文件夹:

 

3、如果两个target使用同一个AppDelegate的话,可以把TargetDemoTwo中AppDelegate删除,如果不使用同一个AppDelegate,可以修改名称或者修改名称后继承第一个target的AppDelegate,如果继承target的AppDelegate的话需要选中第一个target中的AppDelegate.m ,在右边栏中选中两个target,如图:

 

 

4、两个Target关联起来:

例如,两个target使用同一个ViewController,但是两个target中的视图背景色不同;

首先把TargetDemoTwo文件夹中的ViewController.h和.m及Main.storyboard删除

然后选中第一个target中的AppDelegate.m和ViewController.m,在右边栏中Target Membership 中选中两个target,如下图所示:

 

然后区别两个target,选中TargetDemoTwo,选中Build Setting ,搜索macro ,设置标示。

选择不同的target,在viewController中代码设置区分,运行TargetDemoTwo,如下图所示:

 

第二种:通过对原有的target做Duplicate,复制一份

1、选中需要复制的target,右键选中Duplicate,多出TargetDemo copy 及plist,如图所示:

修改TargetDemo copy名字,直接选中TargetDemo copy 修改名称的话,运行窗口的target名称没有修改成功,选中运行target的窗口,选中Manage Schemes, 选中回车修改名称,如下图所示:

2、修改成功后,修改相应的plist文件,修改为TargetDemoThree-info.plist,选中相应的target,选择General ,点击Choose info.plist file...,选择对应的TargetDemoThree-info.plist,配置好plist文件,如下图所示:

3、同理修改此target的表示,如下图所示:

4、关联文件同第一种方法,代码区别,运行TargetDemoThree,如下图所示:

 

图片等资源文件一些第三方库也可以使用同样的方法关联,如果target版本不需要的资源或第三方库可以不关联,打包的ipa也会相对减小;

三个target运行结果,如下图:

 

  参考资源:http://blog.csdn.net/asong_ge/article/details/54931874 

posted @ 2018-03-06 15:49  Belinda_sl  阅读(4688)  评论(0编辑  收藏  举报