XZ_iOS 之实现多target
在开发过程中,我们的APP需要打正常的发布到App Store的ipa包,和批量的企业包,这个时候我采用的是双target来实现的,每次打企业包的时候,只需要选中企业的target进行打包即可,不再修改Bundle Identifier 和 Team。
1、创建target
右键点击 TARGETS - Duplicate 创建另一个target,如下图:
默认名字是当前 target 的名字后面加个 copy,双击修改target的名字,我在target后面加了Enterprise作为区分,如下图的1:
2、修改Info.plist
上图中的 2 部分,是创建target之后,默认给创建的当前target的 Info.plist 文件,我们把这个文件修改为跟target相同的名字,以便于区分。修改完plist的名字,再次点击到当前的target会发现下图情况:
点击 Choose Info.plist File..., 选择该target的info.plist文件;
3、修改bundle identifier 和 team 为你设置的,注意:不要跟上一个target相同即可。
4、修改 scheme 的名字
在下图地方双击修改scheme的名字跟target是同一个即可,如下图:
5、工程中区分两个target
如果需要区分两个target,分别在2个target的preprocessor macros中的DEBUG 和 RELEASE 模式下,使用不同的宏区分。在 Build Settings 中,搜索 preprocessor macros,我使用的是 XZ_DEBUG=1 和 XZ_DEBUG=2 来进行区分。
6、cocoaPod
使用cocoaPod时,为每个 target 添加 pod语句,如下图:
7、注意
创建了多个target之后,在新建文件的时候,如果两个版本中都需要添加的,需要选中2个target;如果仅仅是在其中一个版本中实现相应的效果,只在一个target中实现即可。