美文网首页iOS 进阶
iOS 项目多马甲包开发

iOS 项目多马甲包开发

作者: iOS_tree | 来源:发表于2019-03-13 10:04 被阅读0次

    在开发过程中,我们有可能遇到过做马甲包的情况,更换APP名字、图标、启动图片,其他和主APP共用一套代码。此时如果复制重建项目则显得不好维护或者比较耗时。
    此时我们可以使用同一个project,多个targets,自定义宏,独立资源文件来进行管理,在修改bug时只需修改一套代码,在分别打包时,可以快速切换马甲包进行打包。

    1、创建马甲包targets

    我们首先打开主APP项目,然后按照下图,从原有的targets上复制一个新的targets:


    创建新的targets

    然后把targets重命名你自己想要的名字即可,然后修改相应的APP名字,id等信息。

    2、为targets设置自定义宏

    点击自己想要自定义宏的targets,进入Build Settings,找到 Other C Flags,加上自定义的宏,宏的定义如下:-Dxxx,其中-D为固定格式,xxx为自定义的宏。每个targets设置不同的宏作为自定义的标识,以供代码里面做区分,如下图:


    设置自定义宏

    3、使用

    我们使用刚才自定义的宏来区别每个targets,使用预编译,如下图:


    使用自定义的宏区分targets

    4、独立资源文件夹

    我们可以把共用的资源图片放在一个Asset.xcassets里面,然后所有targets共享。其他需要定制的APP图标,启动图片等则分开放置即可,切换targets不需要重新修改APP图标和启动图片等自定义的资源文件。


    设置公用资源文件夹
    每个targets的私有资源
    每个targets的私有资源

    我们在私有资源文件夹里面放置各种的appicon、launchimage等私有资源。即可实现快速的切换targets动作,且切换时无需做其他多余动作。是不是简单又方便呢。
    注意在创建新的targets时,要对被被复制的那个targets的私有资源文件进行检查,以免设置多重appicon、launchimage等资源文件。


    切换targets
    切换的Scheme可以重命名。

    如有疑问或更好的方案,还请留言交流。

    相关文章

      网友评论

        本文标题:iOS 项目多马甲包开发

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