1: 创建多个Configuration
有两种方法可以用来创建我们需要新增的Build Configuration, 这里新增一个名为Preform的配置项, 是为了满足App的开发环境(Debug)、预发环境(Preform)、线上环境(Release)三套数据环境的切换;
方法一:
图1方法二:
图2二: 数据环境的配置:
图3新增Preform配置项之后, 可以在当前Target的Build Setting下搜索macros找到 Preforcessor Macros, 可以看到刚刚Duplicate 'Release' 生成的Preform的Multiple Value与Release一模一样, 这里我们需要新增PREFORM=1,来定义标示预发环境的宏变量PREFORM, 这么做主要是为了方便我们根据这里生成的宏 在.pch 文件中利用 #iddef 来配置好相应的数据环境, 这里同样可以将一些需要区分环境的第三方配置放进来, 示意图和环境配置代码如下:
#ifdef DEBUG //开发环境
#elif PREFORM //预发环境
#else //正式环境
#endif
图4
三: 配置不同的AppIcon
在Assets.xcassets中添加三套不一样的图标:
图5
然后在target的Build Settings下搜索icon找到Asset Catalog App Icon Set Name, 然后进行如下配置:
图6
然后在Edit Scheme选择相应的Configuration进行编译或者打包就能显示出不同的图标了;
四: 配置不同的AppName
配置不同的应用名称, 这里需要使用到User-Defined加上info.plist来进行配置:
首先: 新增一个User-Defined, 如下图:
图7
将三种Configuration下的应用名称分别设置成: Demo测试版, Demo预发版, Demo正式版
然后在info.plist中加入Bundle display name, 将其设置成刚刚新建的User-Defined:
图8
五: 配置不同的Bundle ID
为了使打出来的三种包能够共同存在同一台手机上, 我们需要根据不同的Configuration使用不同的Bundle ID:
图9
配置完成之后, 同一个App就能够在一台手机上面安装多个不同的包了!
网友评论