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

文章目录:
-、需求
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,没问题,通过以上可完美解决我们需求列的问题 !!

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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容