创建Configuration
系统自带configuration有两个版本 release 和 debug ,有时候可能还存在多个测试环境问题,此时可以自建configuration版本:
创建完成如下
数据环境配置
新增Preform配置后,当前Target的Build Setting下搜索macros找到Preprocessor Macros,可以看到新增的PREFORM,此时需要新增PREFORM=1,来定义标示预发环境的宏变量PREFORM:
后续可以在pch中配置数据环境,示意图及环境配置代码如下:
#ifdef DEBUG //开发环境
#define AlertBody @"这是开发环境"
#elif PREFORM //预发环境
#define AlertBody @"这是预发环境"
#else //正式环境
#define AlertBody @"这是正式环境"
#endif
配置Appicon
设计三套不同的图标,生成appIcon,取好对应的名称放入Assets.xcassets中:
然后再当前Target的Build Setting下搜索icon找到Asset Catalog App Icon Set Name,配置如下:
然后Edit Scheme选择相应的Configuration进行编译或者打包就能打出不同的图标了。
配置AppName
配置不同的应用名称,这里需要使用到User-Defined加上info.plist来进行配置;新增User-Defined,如下:
将三种Configuration下的应用名分别设置成你需要显示的不同名称,比如::Demo开发版、Demo预发版、Demo正式版。
然后在info.plist中加入Bundle display name,将其设置成我们刚刚新建的User-Defined:
然后Edit Scheme选择相应的Configuration进行编译或者打包就能打出不同的app名称了。
配置BundleID
如上配置后,虽然能打包出来不同图标,不同名称的应用,但是由于bundlID没变,所以无法同时安装,此时我们就想到配置不同的BundleID,此处的配置同名称的配置,新增User-Defined,如下:
info.plist中将bundleid 改成配置的环境变量如下:
然后Edit Scheme选择相应的Configuration进行编译或者打包就能打出不同的bundleID了。
配置打包
选择对应的版本进行打包即可,不需要再频繁去替换标题、图标、ID等信息