iOS开发知识点

使用scheme配置iOS APP的多个环境

2018-02-27  本文已影响0人  Phelthas

我基本是参考https://www.jianshu.com/p/83b6e781eb51这篇文章的,这里只是记录一下使用流程,捋一捋自己的思路。

现在开发APP起码有测试环境和正式环境,有条件的可能还有验收环境,预发布环境等等,
怎么方便的切换环境其实还是值得考虑一下的。
之前我自己一直是通过宏定义来切换,其实还算方便,改个宏定义的值就可以切换,
唯一不爽的是切换环境以后重新build要花很长时间,长到不能忍!
所以看到上面的文章后,立马实践了一下,

结论是:完全值得这么一折腾,可以说是一劳永逸的好方法。

流程如上面文章所说,我自己的实际情况如下:

1,我这里有三个环境,测试,预发布,正式,所以建了.test , .pre , .normal 三个scheme;

2,每个scheme都有debug和release之分,所以这里一共要有6个build configuration;

我这里是把Xcode自建的两个build configuration (debug和release)作为正式环境的两个 配置,

再分别复制两份,分别作为测试和预发布环境的 debug和release,

这里需要edit scheme来修改,是最最重要的地方


image.png

3,我这里只提供了第三方登录(qq,微信,微博),而第三方登录的key都是要和bundleId绑定的,
所以没法区分不同的bundleId,否则就没办法登录了,所以显示不同的app名字意义也不大,
就通通没有做,如要要做,也就是添加userDefined Setting,应该不难

4,不同环境的区分,其实就是url的不同,我这里是用宏定义来区分,
在一个统一的地方定义好


image.png

然后在配置buildConfiguration设置不同的宏定义即可


image.png

5,这里需要特别注意的是 scheme和buildConfiguration的关系
buildConfiguration是整个APP的配置,不同的配置就可以产生不同的效果(我们这里就是产生不同环境的APP)
而scheme是指target,buildConfiguration和test集合,可以理解为一个对应关系;
也就是说:
scheme决定了APP使用哪个配置来build,我们通过决定使用哪个scheme来决定最终使用了哪个环境!

上一篇 下一篇

猜你喜欢

热点阅读