

7.上面步骤完成之后,打包之用切换Target进行编译即可获取对应环境的APP
(demo里面切换环境运行打印,你会发现得到的是不同的结果)

这里来解释一下这个方案的核心

文件
a.分别定义两个环境的BundleID对应的宏
b.定义了一个能够在不同环境下面获取到对应环境BundleID的宏
c.定义根据不同环境区分不同的请求地址
d.定义根据不同环境区分不同的sdk区域
用法:
kGetuiConfig[kBundleID][@"AppID"]
假设现在APP环境处于测试环境
kGetuiConfig是一个字典

kGetuiConfig[kBundleID] 是如图字典

kGetuiConfig[kBundleID][@"AppID"]--> ebCsh9J11111111GhSZ9Hb5

如果你觉得有点绕是正常的,多看两遍就知道了。
踩过的坑和注意点
1、第三方SDK去注册账号需要区分BundleID的时候,这时候一定需要创建两个账号(n个环境n个账号),其他不需要区分BundleID的,尽量创建两个账号,这样区分环境才有意义。
2、不同Target必须要对应不同的Plist,需要进行配置,如果实在搞不清楚,就删除所有的Plist,然后重新添加,这样Target上面对应的pilst为空的时候就能进行选择配置。
3、添加新类的的时候记得勾选上两个Target










