iOS开发 - 项目中的多环境配置

1,848 阅读2分钟
  • 兄弟们在开发调试过程中,肯定遇到过多环境配置的。例如:我开发版本请求测试服。正式包请求正式服—之类的。

  • 今天就小小的浅谈一波。(虽然大多数兄弟们都会,但是小弟我感觉还是有写的必要。😆)

1. 多target配置

    1. 有些兄弟们以为多target之后会使IPA包的体积成倍增加。其实不会的。
    1. target其实就是个配置,在不同target运行打包使会根据配置来处理

1.1. 多target使用

    1. target的创建其实很简单。我给兄弟们画了一幅图

这样其实就配置完了,好多项目目前也有这么配置的

    1. 但是这么配置之后,会发现其实不是最好的。毕竟改一些东西会比较麻烦。有时候还会忘记改了什么~

那么我们说一下第二种配置方法

2. 多scheme配置

  • scheme配置会比target相对来说比较好一点

2.1. 多scheme使用

    1. 我也稍微画了画

    1. 兄弟们可以想象一下。的确比target舒服好多了
    1. 但是这个也是要改buildSetting里面的配置。其实也不是最优的

那么我们说下第三种配置,也是我觉得最舒服最优的配置~

3. 多config配置

  • 这个估计大家目前好多用在项目中了,只能说你们很厉害

  • 我刚开始接触感觉发现了新大陆呢~

3.1. config使用

    1. 创建config

    1. 关联起来~

选择对应的config,就OK了,应为这个config可以操控buildSetting的。

3.1.1 举例说明

    1. 添加config配置
    1. 查看config配置

编译之后可以查看是否生效

说明咱们的配置已经生效,写到了buildSetting里面了。

    1. 兄弟们,可以想象一下,假如用schemeconfig联合配置,会给我们开发节省很多不必要的麻烦,而且--所有配置都在一起,看着也比较舒服

有些兄弟们可能不知道相应的buildSetting配置。我准备好了网址XcodeBuildSetting

3.2. config冲突解决

    1. 如果有多个config--例如:有自身的configpodsconfig。大家可能会遇到冲突
    1. 其实解决办法很简单 ~~
    • 2.1. 配置自身config

    • 2.2. 关联相应的其他config文件即可

    • 2.3. 以pods举例:

    #include “Pods config 路径”
    
    //如果有相同的配置 -- 可以兼容的  前面 加个 $(inherited) 这个东西可以理解为继承~
    OTHER_LDFLAGS = $(inherited) -framwork "AF"
    
    
    1. 不知道是否说的明白了。要是有问题大家可以给我留言,我会努力帮忙解决的~~

希望对兄弟们有些帮助吧~😆