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

创建新的target有两种:

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

1、Xcode创建新项目TargetDemo:

iOS 同一个项目,创建多个target,打包不同版本的target_第1张图片

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

iOS 同一个项目,创建多个target,打包不同版本的target_第2张图片

 

iOS 同一个项目,创建多个target,打包不同版本的target_第3张图片

iOS 同一个项目,创建多个target,打包不同版本的target_第4张图片

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

iOS 同一个项目,创建多个target,打包不同版本的target_第5张图片

 

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

iOS 同一个项目,创建多个target,打包不同版本的target_第6张图片

iOS 同一个项目,创建多个target,打包不同版本的target_第7张图片 

iOS 同一个项目,创建多个target,打包不同版本的target_第8张图片

 

4、两个Target关联起来:

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

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

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

iOS 同一个项目,创建多个target,打包不同版本的target_第9张图片 

iOS 同一个项目,创建多个target,打包不同版本的target_第10张图片

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

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

iOS 同一个项目,创建多个target,打包不同版本的target_第11张图片

iOS 同一个项目,创建多个target,打包不同版本的target_第12张图片

iOS 同一个项目,创建多个target,打包不同版本的target_第13张图片

 

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

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

iOS 同一个项目,创建多个target,打包不同版本的target_第14张图片

iOS 同一个项目,创建多个target,打包不同版本的target_第15张图片

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

iOS 同一个项目,创建多个target,打包不同版本的target_第16张图片

iOS 同一个项目,创建多个target,打包不同版本的target_第17张图片

iOS 同一个项目,创建多个target,打包不同版本的target_第18张图片

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

iOS 同一个项目,创建多个target,打包不同版本的target_第19张图片

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

iOS 同一个项目,创建多个target,打包不同版本的target_第20张图片

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

iOS 同一个项目,创建多个target,打包不同版本的target_第21张图片

 

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

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

iOS 同一个项目,创建多个target,打包不同版本的target_第22张图片iOS 同一个项目,创建多个target,打包不同版本的target_第23张图片iOS 同一个项目,创建多个target,打包不同版本的target_第24张图片

 

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

转载于:https://www.cnblogs.com/lulushen/p/8514768.html

你可能感兴趣的:(iOS 同一个项目,创建多个target,打包不同版本的target)