美文网首页常用
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