zoukankan      html  css  js  c++  java
  • 实现一个iOS项目中添加多个target,并制作马甲包。

    公司项目中全部采用多个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共用同一份代码,后续打包可根据需要配置不同的开发者账号即可。

    最近参考上面所述制作马甲包,完成后会有编译失败的问题,原因如下Targets--General--Linked Frameworks and Libraies下,libPods**.a 重复,删除即可。

  • 相关阅读:
    笔试材料收集(二)——用OPENGL搞个冒泡排序,原创_!
    cocos2dx andoroid切换后台后资源重载
    ipa命令行打包命令
    SceneManager
    ios上遇到过的问题集及解决方法(1)
    google inapp billing
    Unity Editor学习IHasCustomMenu
    cocos2dx如果更好地使用第三库
    cocos2dhtml环境布暑
    ios中,常用的一些调试命令
  • 原文地址:https://www.cnblogs.com/hzglearn/p/7612153.html
Copyright © 2011-2022 走看看