前言

同一份代码,要打包成不同的APP,但是要区分图标、名称、部分功能点

方式:

  • 直接复制一份修改,弊端是如果后续需要同步维护很麻烦
  • 建立新的target

操作

创建新的target(基于现有的targte复制出来)

image.png|500

TARGETS - 选中工程target - 右键出现上述选项 - 选中 Duplicate

  • 在列表中出现复制项目target
  • 工程文件夹中出现复制项 plist 文件

修改target和Scheme名称

image.png|500
image.png|500

工程配置信息 info.plist 路径配置

  • 工程文件夹中,新建文件夹 xxxx ,用来存放新target的内容
  • 复制项 plist 文件,改名 - 移动到 xxxx 文件夹下
  • xxxx 文件夹拖拉进项目中,如下配置
    image.png|500
  • info.plist 路径配置 `Build Settings - Packaging - info.plist file - 配置新plist的路径
    image.png|500

配置预处理器宏,用来区分代码中的环境

Build Setting–>Preprocessor Macros
image.png|500
image.png|500

app icon 配置

image.png|500

Assets目录下 - 新建 app icon
image.png|500
新建的target - 引用新建的app icon

新建启动页面 Launch Screen

参考

1
2
3
4
5
url: https://juejin.cn/post/6910117697317502983
title: "iOS 创建多个Target实现多渠道打包或者环境区分 - 掘金"
description: "需求:一套代码可以成多个App,其中图标、启动图、名称等不一样。或者一个项目区分不同环境,不同环境安装不同的依赖库或者访问不同的服务器,或者执行的代码逻辑不同等。 1. 创建Target或者说在当前项目target基础上复制新的target 2. 修改Target、Scheme…"
host: juejin.cn
favicon: https://lf3-cdn-tos.bytescm.com/obj/static/xitu_juejin_web/static/favicons/favicon-32x32.png