有时候,我们需要给一个iOS工程构建多个马甲应用,这些马甲应用共享同一份代码,但是productName,bundle id,api环境,还有一些参数设置是不同的,如果每个马甲应用都创建一个新工程,就太耗时耗力,而且每次需求有变化,还得改多份代码才可以。
以上的方法太low了,我们有更好的方法,那就是构建多个scheme来实现。
第一步,构建scheme,需要几个马甲应用就构建几个scheme,如图:

第二步,添加configurations,在左边选择PROJECT,在info面板添加,如图:

第三步,编辑scheme,首先切换到需要编辑的scheme,点击Edit Scheme,然后进行编辑,如图:

第四步,为每个scheme编辑不同的bundle id等参数,在target的Build Settings中根据需要去配置,如图编辑bundle id:

然后添加预处理宏(Preprocessor Macros),在代码中通过判断预处理宏来切换不同的api环境,如图:

网友评论