前言
项目工程里总是会配置几个不同的环境,或是后台环境的各异,或是不同bundleID,每次都要去修改项目配置,不仅麻烦耗时,也不符合项目规范化管理。接下来说一下两个配置多环境的方法。
目录
- 利用Build Configuration来配置多环境
- 利用Targets来配置多环境
- 两者的对比
一、利用Build Configuration来配置多环境
1、首先复制一个现有的Configuration,单击修改其命名。
2、添加宏定义,区别当前环境
3、设置bundle identify
4、设置bundle identify 对应的开发/发布证书
5、创建scheme,选择对应的target,并修改命名
6、编辑新建的scheme,选择对应的Configuration
7、项目里用cocoaPods管理第三方库,需要重新pod install,来更新对应的配置
8、用Configuration创建的宏来实现多环境的配置
二、利用Targets来配置多环境
1、首先复制现有的Target,单击修改其命名
2、删除新建Target对应的info.plist文件
3、选择原本的Info.plist,让多个Target公用一个info.plist
4、设置对应Target的Bundle Identifier、verson、开发/生产证书,以及Build Settings的相关配置
5、创建新的Asset,勾选对应的Target,点击“+”,新增App Icons & Lauch Images(如果用同一套AppIcon和LauchImage可忽略此操作)
6、配置对应Target的AppIcon、LauchImage和LauchScreen(如果用同一套AppIcon和LauchImage可忽略此操作)
5、设置各自的Preprocessor Macros,可以用在项目里区分是哪个配置
6、Target创建时也会生成一个scheme,单击修改scheme的命名
7、编辑Scheme,选择对应的Target,Configuration保持默认
8、项目里用cocoaPods管理第三方库,需要为新增的Target添加对应的pods,再pod install
三、两者的对比
两种我在实际项目都用过,都可以实现多个证书环境或者网络环境的配置;
如果要实现多个App各自的AppIcon和LauchImage配置可以用Target的方式,单Configuration无法实现;
如果只是用一套AppIcon和LauchImage,实现多个证书环境或者网络环境的配置,建议用Configuration,因为第一种方案看起来更简洁一些。