一般有三种方式:
一、通过多Target
二、通过scheme,也就是多configurations
三、通过.xcconfig文件
先来看第二种方式:通过scheme,也就是多configurations,包括自定义User-settings
第一步:增加configurations,Xcode默认为我们生成了Debug和Release两种版本,Debug版本运行和打包的时候会包含调试信息,而且打出的包没有进行优化,体积大一些,而Release版本打包和运行的进修不包含调试信息,打包时经过了优化,包体积相对要小一些,所以Release版本打出的包一般是发给公司测试人员、产品经理或者第三方用户的,而Debug版本打出的包一般是开发人员自己测试用的,实际开发过程中可能还有其它版本,例如,线上测试环境preRelease或者叫Test,下面这张图就是新增了一个Test版本的cofiguration

第二步:自定义User-settings,找到Project下的Build Settings,滑动到最底下,或搜"User-Defined"

然后点击Basic左侧的"+"号,选择"Add User-Defined Settings"

然后,给环境变量命令,例如"HOST_URL",服务器主机地址,然后点左侧的小箭头下拉展开,分别给Debug,Test,Release的右侧填写不同的HOST_URL对应的地址,如下图:

但此时这个HOST_URL在代码中还不能直接使用,需要去Other C Flags中做一个映射配置,在Build Settings搜索"Other C Flags",然后在右侧点击展开,点"+"号对刚才在User-Defined Settings中定义的HOST_URL重新命令一下,以-D新的名称=@\"$(User-Defined Setting中的名称)\"的格式定义好,就能在代码中使用这个新的名称了

