码迷,mamicode.com
首页 > 移动开发 > 详细

实现一个iOS项目中添加多个target,并制作马甲包。

时间:2017-09-30 13:34:07      阅读:1663      评论:0      收藏:0      [点我收藏+]

标签:试验   打包   tin   选中   project   manage   install   img   开发者   

公司项目中全部采用多个Target在一份项目代码中生成多个app端,之前项目中未曾使用过,问了几个朋友打过马甲包的朋友,也都没多Target搞过,因此自己试验整理了下target生成的整个过程,尽量步骤详细,大牛勿喷,小白共勉。

1.添加多个target

如下图,在项目配置TARGETS中,选中需要复制的target目标,右键选择Duplicate,然后就会出现一个叫* copy名字的target。

技术分享

如下图技术分享

选择Duplicate only,出现如下图MoreTarget copy技术分享

修改MoreTarget copy为我们所需要的名字,我这里改为MoreTarget旗舰。然后接下来选择左上角如下图技术分享

点击Manage Schemes进去修改MoreTargets copy为MoreTargets旗舰,注意修改选中MoreTargets copy,点击一下后,稍等再点击方可以进去编辑修改。技术分享

改名如下图,记得勾选shared,然后close即可。技术分享

然后,我们项目中因为用到cocopod,为了两个target都可以使用pod,我们在项目左侧podfile中添加字段

target ‘MoreTargets旗舰‘ do

end

技术分享

 

command+s保存后,跟终端pod install。

最终结果我们点击project--MoreTargets--info,如下图所示,技术分享

等于我们新建的target,MoreTarget旗舰绑定了相应的debug和release环境。请注意我们项目左侧FrameWorks下面出现新的MoreTargets旗舰对应的plist文件MoreTargets copy-Info.plist,我们单击修改为我们MoreTargets旗舰对应的名字,如下图技术分享

然后我们点击TARGETS--MoreTargets旗舰--General--Identify下,点击选择我们刚才修改的plist文件,如下图选择即可。技术分享

2.接下来,我们配置两个target不同的app name,和不同的bundleIdentifier。如下图,我们将MoreTargets旗舰的bundelid改为com.targetqijian.www.MoreTargets,技术分享

此时分别选择运行不同的targe,会在模拟器上安装为两个不同的App。

3.然后我们修改不同target 不同的AppIcon和LanuchImage,分别拖进去相应图片,如下图技术分享

我们点击运行后,桌面如下图两个app,一个是MoreTargets应用,一个是MoreTargets旗舰应用,如下图

技术分享

最后,后面你添加文件的时候,根据自己需要添加到对应的target就可以了。但是在代码中怎样区分两个target呢?我们可以添加一个预编译宏来解决。target->Build Setting,搜索:Preprocessor Macros,设置Debug和Release里的预编译宏内容,比如QIJIAN=1表示一个target版本(注意=前后不能右空格,有空格会编译不过),程序中对不同版本这样判断,如下图

技术分享

最后,完毕。两个不同的target共用同一份代码,后续打包可根据需要配置不同的开发者账号即可。

 

实现一个iOS项目中添加多个target,并制作马甲包。

标签:试验   打包   tin   选中   project   manage   install   img   开发者   

原文地址:http://www.cnblogs.com/hzglearn/p/7612153.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!