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

我基本是参考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来决定最终使用了哪个环境!

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 前言 谈到多环境,相信现在大多公司都至少有2-3个app环境了,比如Test环境,UAT(User Accepta...
    一缕殇流化隐半边冰霜阅读 76,328评论 222 776
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 175,149评论 25 709
  • 概述 偶然看到一个很有趣的问题:如何在ios环境下实现多个环境同时打包。 谈到多环境,我想大多公司都至少有2-3个...
    BookKeeping阅读 8,570评论 1 5
  • 最近闲来无事,写一些之前用过的一些知识点也好做个总结。这次来说说倒计时的实现也就是计时器。在刚接触这一块的时候也有...
    洁简阅读 5,544评论 0 2
  • 男人说爱你的时候,不一定真的爱你。 男人说不爱你的时候,那他真的就是不爱了。 女人大多时候的执着,往往只是因为岁月...
    无根的野草阅读 1,066评论 0 0