iOS 进阶

iOS 项目多马甲包开发

2019-03-13  本文已影响0人  iOS_tree

在开发过程中,我们有可能遇到过做马甲包的情况,更换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可以重命名。

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

上一篇下一篇

猜你喜欢

热点阅读