iOS app配置多环境变量和制作马甲包

1.新建Configuration

点击Project->Info,默认有Debug和Release两个Configuration,顾名思义Debug用于调试,Release用于发布,区别是Debug默认添加了预编译宏DEBUG=1,Release不能调试程序,并且Release编译时做了优化。点击Configurations选项卡下面的加号,分别复制一个Debug和Release的Configuration,这里我取名为Debug_a和Release_a,代表马甲包a的两个Configuration

iOS app配置多环境变量和制作马甲包_第1张图片

新建Configuration.png

iOS app配置多环境变量和制作马甲包_第2张图片

马甲包aConfiguration

注意:新建完Configuration之后请重新执行pod install命令

2.新建Scheme

为上一步新建的Configuration再新建Scheme,这里我新建了两个Scheme,命名为马甲包a_release和马甲包a_debug,在Manage Schemes里面把右边的Shared选项勾选,否则在git上无法同步。

iOS app配置多环境变量和制作马甲包_第3张图片

新建Scheme

iOS app配置多环境变量和制作马甲包_第4张图片

勾选Shared

在Edit Scheme里面把Run和Archive模式改成对应新建的Build Configuration

iOS app配置多环境变量和制作马甲包_第5张图片

QQ20170615-093232.png

iOS app配置多环境变量和制作马甲包_第6张图片

QQ20170615-093301.png

3.配置AppIcon和LaunchImage

新建一个App Icon和Launch Image文件夹,重新命名,拖入图片。

iOS app配置多环境变量和制作马甲包_第7张图片

新建AppIcon和LaunchImage

选择Targets->Build Settings,搜索asset,在Asset Catalog App Icon Set Name 和 Asset Catalog Launch Image Set Name 配置各个Configuration所对应的图片文件夹名称。

iOS app配置多环境变量和制作马甲包_第8张图片

QQ20170615-093625.png

4.配置App名称,Bundle ID 和 证书

4.1 配置App名称

在Project->Build Settings 点击加号选择Add User-Defined Setting],即增加用户自定义设置,添加一个App名称的设置,为不同的Configuration设置不同的App名字。

iOS app配置多环境变量和制作马甲包_第9张图片

Add User-Defined Setting

iOS app配置多环境变量和制作马甲包_第10张图片

屏幕快照 2017-06-15 16.32.29.png

然后在info.plist中设置Bundle display name为我们自定义的设置,${CusomAppName}。

iOS app配置多环境变量和制作马甲包_第11张图片

App Name.png

4.2 配置Bundle ID和证书

不同的马甲包可能是由不同的开发者账号发布的,所以需要配置对应的bundle id 和 证书。

bundle id 在Targets->Build Settings 中的Product Bundle Identifier设置。

iOS app配置多环境变量和制作马甲包_第12张图片

bundleID.png

证书配置如下图

iOS app配置多环境变量和制作马甲包_第13张图片

证书配置

5.其他配置

在Targets->Build Settings->Preprocessor Macros中,可以根据Configuration配置不同的预编译宏,根据这个预编译宏的不同,在代码里面也可以有不同的配置,比如渠道号,接口域名等。

iOS app配置多环境变量和制作马甲包_第14张图片

Macro.png

#ifdefMaJiaA#definekchannelCode @"majia_1"#endif#ifdefDEBUGNSString *kServiceDomain = @"http://api.test";#elseNSString *kServiceDomain = @"http://api.release";#endif

iOS app配置多环境变量和制作马甲包_第15张图片

屏幕快照 2017-06-15 17.08.37.png

6.总结

用这种方法能比较方便地实现多环境变量的配置

7. App被拒4.3如何处理

App被拒4.3分为两种, 一种是机器4.3, 一种是人工审核4.3,我只说机器审核4.3解决方法。

Guideline 4.3 - Design

This app duplicates the content and functionality of other apps submitted by you or another developer to the App Store, which is considered a form of spam.

Apps that simply duplicate content or functionality create clutter, diminish the overall experience for the end user, and reduce the ability of developers to market their apps.

The next submission of this app may require a longer review time.

收到这种回复基本上就是机器审核4.3

解决方法是改类名,方法名,文件夹的名字

1.将工程类前缀改成另一个更长的字符串,类的后缀用其他字符串代替,名字尽量长一点。

比如ZHQBaseViewController->ABCPrefixionBaseDirector(ABCPrefixionBaseVC等)

ZHQLoginView - > ABCPrefixionRegisterSurface

其他的Category 等也一起改掉

2.修改文件夹的名字,我也推荐用AppCode来改

3.添加垃圾代码,文件来混淆代码,然后在现有的工程中调用

作者:wn

你可能感兴趣的:(iOS app配置多环境变量和制作马甲包)