多targets使用

实际开发中,有时候会有多个相似app的情况,创建多个项目当然可以,但是还有更好的方案,那就是,多个app共用一套代码,通过创建多个targets来实现。

一:创建target

1.File->New->Target来新建
2.选中现有target,右键duplicate,选择duplicate only


多targets使用_第1张图片
图1
多targets使用_第2张图片
图2
二:修改target名称

选中target,回车即可改名

三:修改target对应scheme名称

进入manage scheme,选中回车即可改名


多targets使用_第3张图片
图3
四:配置Info.plist

最好修改info.plist的名称与target一致,这样以后也好区分
改名后的info.plist路径与原来的就不一致,这时,要重新指定其路径


图4
五:其他

不同的target可以指定不同的bundle ID,app名称,包括证书等,当然也可以指定不同的资源文件Assets.xcassets

六:不同target间共用资源文件,代码

选择要共用的文件,通过勾选要共用的target,来实现文件共用


多targets使用_第4张图片
图5

当然,创建或者添加的文件也记得要选择哪些target使用


多targets使用_第5张图片
图6
七:不同target间差异化

两种方式:
1.通过不同的代码文件,资源文件来区别
这个就不用多说了
2.同一份文件代码中,通过变量来区别
这个其实也好理解,就是平常定义变量,那么通过这个变量来控制不同target的不同表现形式。
不过这里要说的是通过xcode来配置这个

多targets使用_第6张图片
图7

注意:一定要有"-D",然后后面是自己定义的宏
那么代码中就可以使用了

#if app_black
let app_color : UIColor = UIColor.black
#elseif app_orange
let app_color : UIColor = UIColor.orange
#elseif app_blue
let app_color : UIColor = UIColor.blue
#else
let app_color : UIColor = UIColor.black
#endif

你可能感兴趣的:(多targets使用)