iOS 创建多个Target实现多渠道打包或者环境区分

  • 需求:一套代码可以成多个App,其中图标、启动图、名称等不一样。或者一个项目区分不同环境,不同环境安装不同的依赖库或者访问不同的服务器,或者执行的代码逻辑不同等。

大致流程:

1. 创建Target或者说在当前项目target基础上复制新的target
2. 修改Target、Scheme配置
3. 配置Info.plist(如果只是环境区分不用修改)
4. 宏定义(Preprocessor Macros)设置
5. Assets.xcassets的设置(app图片、launch启动页)

1. 创建新的Target(快捷键 Command + D)

iOS 创建多个Target实现多渠道打包或者环境区分_第1张图片

2. 复制后会在原来target基础上生成一个新的target,同时会生成一个新的plist文件。plist文件的位置是在项目的主目录下,如果觉得放着不合适可以挪到某个文件夹下然后在引入到项目中。

iOS 创建多个Target实现多渠道打包或者环境区分_第2张图片

3. 修改target和Scheme名称。

iOS 创建多个Target实现多渠道打包或者环境区分_第3张图片

iOS 创建多个Target实现多渠道打包或者环境区分_第4张图片

4. 修改target引用的plist文件的路径。

iOS 创建多个Target实现多渠道打包或者环境区分_第5张图片

5. 添加项目配置

iOS 创建多个Target实现多渠道打包或者环境区分_第6张图片

6. 宏定义(Build Setting–>Preprocessor Macros)主要用于区分环境或者不同App显示的样式或者逻辑的不同。全局宏,在所有/整个工程的代码中都是有效的。有几个target设置几个宏定义,在代码中用来区分当前选中的target用来区分项目或者环境。

iOS 创建多个Target实现多渠道打包或者环境区分_第7张图片

  • 根据不同的target宏来引入不同的头文件或者处理不同的逻辑

iOS 创建多个Target实现多渠道打包或者环境区分_第8张图片

7. 新建对应target的资源文件。

iOS 创建多个Target实现多渠道打包或者环境区分_第9张图片

  • 直接选择想要添加资源文件的target即可。新建好后直接在里面添加图标启动图等,就可以正常使用。

iOS 创建多个Target实现多渠道打包或者环境区分_第10张图片

  • 初始资源文件选中的target修改为第一个。因为创建新的target后,初始资源文件会默认选中创建好的target,也就是创建一个target初始资源文件会选中一个可能导致设置在新的资源文件添加过图标等不能正确显示。

iOS 创建多个Target实现多渠道打包或者环境区分_第11张图片

  • 图标显示正常

iOS 创建多个Target实现多渠道打包或者环境区分_第12张图片

other: 如果只是区分环境可以按照下面的直接添加配置,设置区分环境的宏这样简单点。

iOS 创建多个Target实现多渠道打包或者环境区分_第13张图片

iOS 创建多个Target实现多渠道打包或者环境区分_第14张图片

你可能感兴趣的:(iosobjective-c)