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运行结果,如下图: