iOS-xcconfig环境变量那些事(配置环境的配置)
前言
在配置宏定义参数时,会发现一个问题,在需要临时修改或者测试一些数据时,修改宏,如果不修改,就多写一个,注释掉原来的,然后测试后,再换回来,当然了,如果一两个宏,可以这样,但是,如果每次改的比较多,建议用环境变量来配置,也就是用 xcconfig 控制 debug 或 release编译时,同一个宏名,取到的值就会不同;或许现在的pch文件里面是下面这样的......
#define api_url @"http://www.api000.com/" //#define api_url @"http://1.1.1.12:00000/"
xcconfig
可以用环境变量来配置,使api_url的值在debug和release不同的环境下,各取所需。
1.新建 xcconfig 文件
注意在新建 xcconfig 文件时,勾选加入target。
2.设置宏
在上一步中,新建了三个 xcconfig 文件,commonxcconfig.xcconfig 放公共宏或做公共设置,debugxcconfig.xcconfig做debug环境,releasexcconfig.xcconfig做release环境,然后添加api_url宏并配置。
debugxcconfig.xcconfig
releasexcconfig.xcconfig
commonxcconfig.xcconfig
在 debugxcconfig.xcconfig 和 releasexcconfig.xcconfig 中分别引用了:
pods/target support files/pods-testapp/pods-testapp.debug.xcconfig
pods/target support files/pods-testapp/pods-testapp.release.xcconfig
这是debug和release环境下默认的配置文件,在我们自定义的配置文件中,引用相对应的默认配置。
commonxcconfig.xconfig中第一个key是gcc_preprocessor_definitions = $(inherited) 后面跟自定义的key,在第一个key后面跟上自己定义的key的时候一定不要回车换行,敲一个空格,然后在同一行后面追加就行了,换行会编译错误, 不能换行。
3.配置环境
这样就可以用 xcconfig,定义在编译环境下的宏,如果上一步中 pods/target support files/pods-testapp/pods-testapp.debug.xcconfig 和 pods/target support files/pods-testapp/pods-testapp.release.xcconfig 路径不确定,终端进入项目文件夹,pod install ,终端会有提示路径,将该路径复制后引用就可以。
配置自定义编译环境
推荐阅读