利用Scheme完成多环境配置

优质
小牛编辑
126浏览
2023-12-01

利用Scheme完成多环境配置

在当前PROJECT - Info - Configurations下, 根据默认DebugRelease复制一份配置

新建Configuration

例如新建一份配置命名为Beta, 这样全局新增了一份Beta配置
在编辑Scheme下或是Build settings下面都是可见的

Scheme下的build configuration Build settings

为进一步利用Schemeconfigurations, 通常会直接新建一个Scheme来绑定新增configurations, 使用时根据环境切换Scheme来编译

新建不同环境的scheme 新建scheme 为新建的不同scheme选择不同的configuration 为不同的scheme设置configuration 在不同环境编译前, 只需要切换scheme即可, 不再需要反复编辑scheme来切换配置 切换scheme

  • 利用多Scheme完成多环境hosts的配置

  • Target - Build settings - User-Defined下, 新增一个环境变量, 用来控制项目不同环境的域名地址

    添加环境变量

  • 为自定义环境变量设置不同的值

    设置不同的值

  • 环境变量项目中使用

    • 将刚刚新增的环境变量添加到info.plist文件中

      增加环境变量到info.plist中

    • 接下来在项目里读取Info.plist文件, 取出域名使用

        NSString *hostURL = [[[NSBundle mainBundle] infoDictionary] objectForKey:@"HOST_URL"];
        self.describeLabel.text = hostURL;
      
    • 这样就通过切换Scheme完成了多环境的配置

优势

在一个Target下完成了多环境配置

不足之处

还是需要在Projectbuild settings下做配置, 比如在引入三方库, 配置Framework Search Paths


下一篇: 利用xcconfig文件完成多环境配置