美文网首页iOS 开发每天分享优质文章自鉴
iOS 多targets回顾 概念、创建、使用

iOS 多targets回顾 概念、创建、使用

作者: coco_CC | 来源:发表于2021-01-07 15:13 被阅读0次
    文章目录:
    -、需求
    1、多target创建
    2、多target在同一个设备上运行
    3、多target使用不同的桌面图标以及推送图标
    4、预编译`宏`
    

    需求:

    1、项目需要不定时打包【测试环境,预生产环境,生产环境】等相关需求
    2、项目不同环境配置不同
    3、两个项目区别不大,如访问地址,App icon ,推送角标
    4、不同环境要同时安装在同一手机上

    so easy !

    基于以上需求,如果每次都是手动配置,一则比较麻烦,二则容易配置错,又或者整个copy一个项目,代价太大。

    为此,iOS为我们提供了多TARGETS来解决以上问题

    一、多target创建

    1、如图所示,先复制一份target。右击在弹出的框中,选择Duplicate Only,即可复制一个target
    复制target.png
    2、双击可以为我们新复制的target修改名字,如图所示:
    修改新target名称.png
    3、新创建的target对应plist文件也会重新生成一份,我们【show in finder】plist文件修改名称,然后在项目中删除索引,并顺便把plist文件放到与项目本身的target同级目录,导入项目,这样后续维护方便。
    修改plist名称之前的位置及名称.png
    4、以下是我新修改完成的plist文件名称及位置
    新plist文件名称及位置信息.png
    5、修改scheme的名字,如图所示操作步骤
    5.1.png
    5.2.png
    5.3.png
    6、接下来应该修正新targetplist路径。因为改名并挪动了位置,双击以下图中的第五步,为新target纠正plist名称以及路径
    image.png
    7、注意:因新plist文件拖拽了位置,路径前面需要加上项目名称/***plist,否则会导致项目找不到plist文件
    image.png

    二、多target在同一个设备上运行

    1、在两个target中分别设置不同 Bundle Identifier 就可以实现

    image.png

    2、运行项目,选不同Scheme去运行


    image.png

    3、效果展示


    image.png

    三、多target使用不同的桌面图标以及推送图标

    1、创建App Icon
    创建App Icon.png
    2、App Icon 改名
    为了方便区分,我们可以进行双击改名.png
    3、已修改的 App Icon名称 AppIcon-Production
    AppIcon-Production 我新改的名称.png
    4、配置target使用我们新创建的AppIcon-Production
    配置target.png

    四、预编译

    在同一个target下,我们会有不同的配置,如果都在代码里面进行判断,每次都要手动修改,不是我们想要的,太麻烦。针对这个问题,我们可以用预编译宏来解决。target里会有一个Debug模式下的默认的宏:Debug=1,我们可以继续添加,或者直接使用这个宏来进行不同的配置。比如我肯定会新加一个宏来使用。

    1、搜索 Preprocessor Macros

    搜索 Preprocessor Macros.png

    2、新增预编译宏TARGET_VERSION=1

    新增预编译宏.png

    3、接下来我们验证预编译宏

    #if TARGET_VERSION
        
        NSLog(@"原target");
    #else
        
        NSLog(@"新target");
        
    #endif
    
    选择原项目Scheme去运行,输出 原target.png
    选择新项目Scheme去运行,输出 新target.png

    OK,没问题,通过以上可完美解决我们需求列的问题 !!

    码字不宜,转载请注明出处 ~~~

    相关文章

      网友评论

        本文标题:iOS 多targets回顾 概念、创建、使用

        本文链接:https://www.haomeiwen.com/subject/uslzoktx.html