APP配置多环境分发(二)

上一篇文章定义好了不同scheme下不同的bundle ID和display name 就可以通过选择不同scheme来生成两个内容相同的独立APP,但是APP中的内容更改还需要处理一下。

我们如何在APP代码中判断当前是哪个scheme,又如何判断当前scheme下是debug还是release?

这是就需要用到预处理宏定义,在build setting中的Apple LLVM8.0- Preprocessing下有Preprocessor Macros,该标签同样会根据你的configeration来为你生成好你所有的配置,并会带有默认的宏定义。

我们无需管它默认的宏定义,需要自己来配置,这里我对每种configuration设置了两个宏定义,一个用来辨别APP,一个用来辨别是debug还是release版本。这样在代码中就可以判断了,举两个例子:

通过宏定义判断APP环境来定义URL

通过宏定义判断当前APP Navigation Bar的标题

APP的icon和launch image这种系统级别的设置同样需要到build setting中去更改,而你的icon 和 launch image则需要创建三份不同名的,然后进入设置中修改对应的名字即可。


到这里你应该能明白大概的原理,就是这么一个映射链

如果你的设置没有生效请按照这个图来屡清思路,进入Edit Scheme看看,Run和Archive对应的模式是否选择正确了,不要出现Run模式下使用release配置,那就肯定会出错了。

还有一个坑就是如果APP需要特定的配置文件的话,那么建议使用多Target模式来进行多环境配置,否则打包阶段会出现很多问题。配置多target的目的在于将每个APP对应的General设置单独分开,也就是把debug和release配置文件单独分开,而不会在构建的时候出现各种各样奇怪的错误,而configuration只用来处理一些APP内部分化的一些细节。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值