ios开发 同一工程下多Target的实现

正式开发中,同一个项目,分好多种开发环境,比如我们分:开发、仿真、生产还有个单独测试模块的环境,一般我们有个自动化打包工具,某一个阶段只打一个环境的包,到了后期就只打仿真或者生产的包,比如测试要在测试环境验证某个问题,就得手动修改代码来打包,次数多了很不方便,这个时候多target就可以发挥作用了:
1、创建第二个target


1.png

选中项目的target 右击 Duplicate 就会出现一个target的copy,双击修改该target的名字,此时


2.png
会出现对呀的copy,选择下面的Edite,修改名字和你上面的名字相同;
同时还会生成对应的.plist文件,也同样修改名字,调整到工程合适的位置;选中如下位置
Paste_Image.png
,选择刚才的.plist文件,然后修改Bundle ID,这样第二个target基本就创建成功了。

2、添加条件编译
不同环境代码要执行不同的逻辑,这个时候就要在新的target上面添加自定义的条件编译如图:


Paste_Image.png
,DEBUG就是系统默认的,我自定义的就是Target610,用法如下:
Paste_Image.png

名字可以根据项目名来命名,这样,选择不同的target来运行,就会执行对应的代码逻辑;
3、app显示名字
不同环境对应的app名字也要不同:将项目中对应的infoPlist.string文件拷贝一份单独放到一个finder中,重命名后拖入项目中,这个时候选择对应的target:
Paste_Image.png

修改对应的显示名,就可以了。
至此,多target 不同显示名 就创建完成了。
我们用脚本文件打包,一开始一直识别不到新建的target,最后是删掉编译生成的文件夹重新编译就可以了。
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 175,173评论 25 709
  • Spring Boot 参考指南 介绍 转载自:https://www.gitbook.com/book/qbgb...
    毛宇鹏阅读 47,052评论 6 342
  • 静态库与动态库的区别 首先来看什么是库,库(Library)说白了就是一段编译好的二进制代码,加上头文件就可以供别...
    吃瓜群众呀阅读 14,150评论 3 42
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,324评论 19 139
  • 多少人喜欢着另一个人,只能以朋友的名义。 大概觉得做朋友是一种最长久的方式吧。 我叫包贝,最喜欢的事就是听慕宇飞喊...
    七年樱阅读 10,188评论 79 97