一般项目都会分为测试环境和发布环境,常用的做法就是通过代码来直接修改;这里要说的是通过配置
Configurations来控制环境变量
在Configurations中添加配置
点击➕号里面有两个选项,根据需求自由选择
Debug configurationRelease configuration
新增Configuration
如果项目中用到了
cocoapds需要pod install一下
新建Scheme
- 点击
new Scheme,新建一个Scheme
新建Scheme
new scheme
- 点击
target选中刚才新建的scheme->Edit Scheme选择运行环境,这里可以把Run模式和Archive都改成新建Scheme,如下图:
设置scheme环境
新建User-defined Build Settings
回到Project的Build Settings里面来,点击顶部的➕号按钮选择Add User-Defined Setting
Add User-Defined Setting
User-Defined
这里新加了2个参数,CustomAppBundleld是为了设置多个build identifier这样我们就可以打多个包,这里设置了3个不同的build identifier;
CustomProductName是为了app安装到手机上显示不同的名字和icon。
修改info.plist文件 和 Images.xcassets
- 修改
info.plist文件
由于我们需要根据不同的配置环境来显示不同的APP名称,所以我们需要把info.plist里面的Bundle display name、Bundle identifier修改成我们自定义的这个字典;编译过程中编译器会根据我们设置好的Scheme去自己选择对应的ProductName和Bundle identifier
修改info.plist文件
- 设置
Images.xcassets
为了根据不同的配置环境来显示不同的app icon我们需要在Images.xcassets里面新添加2个New iOS App Icon
新增app icon
新建完AppIcon之后,再在Build Setting里面找到Asset Catalog Compiler里面,然后把这几种模式下的App Icon set Name 分别设置上对应的图标,如下图:
设置App Icon
配置和获取环境变量
- 使用
GCC预编译头参数GCC_PREPROCESSOR_DEFINITIONS
进入到Build Settings搜索preprocessor macros找到Preprocessor Macros,我们可以在这里加一些环境变量的宏定义来标识,Preprocessor Macros可以根据不同的环境预先制定不同定义的宏。
Preprocessor Macros
之后我们可以根据我们设置的宏来进行一些逻辑的处理,譬如最简单的发布环境的url和测试环境的url
最后附上效果图
效果图












网友评论