美文网首页常用
iOS 打几个不一样的iOS包

iOS 打几个不一样的iOS包

作者: 风冰武 | 来源:发表于2018-10-31 18:28 被阅读0次

1: 创建多个Configuration

有两种方法可以用来创建我们需要新增的Build Configuration, 这里新增一个名为Preform的配置项, 是为了满足App的开发环境(Debug)、预发环境(Preform)、线上环境(Release)三套数据环境的切换;

方法一:
图1
方法二:
图2

二: 数据环境的配置:

新增Preform配置项之后, 可以在当前Target的Build Setting下搜索macros找到 Preforcessor Macros, 可以看到刚刚Duplicate 'Release' 生成的Preform的Multiple Value与Release一模一样, 这里我们需要新增PREFORM=1,来定义标示预发环境的宏变量PREFORM, 这么做主要是为了方便我们根据这里生成的宏 在.pch 文件中利用 #iddef 来配置好相应的数据环境, 这里同样可以将一些需要区分环境的第三方配置放进来, 示意图和环境配置代码如下:

图3
#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就能够在一台手机上面安装多个不同的包了!

参考:https://segmentfault.com/a/1190000006844448

相关文章

网友评论

    本文标题:iOS 打几个不一样的iOS包

    本文链接:https://www.haomeiwen.com/subject/zzhatqtx.html