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。

iOS-xcconfig环境变量那些事(配置环境的配置)

iOS-xcconfig环境变量那些事(配置环境的配置)

iOS-xcconfig环境变量那些事(配置环境的配置)

2.设置宏

在上一步中,新建了三个 xcconfig 文件,Commonxcconfig.xcconfig 放公共宏或做公共设置,Debugxcconfig.xcconfig做Debug环境,Releasexcconfig.xcconfig做Release环境,然后添加API_URL宏并配置。

Debugxcconfig.xcconfig

iOS-xcconfig环境变量那些事(配置环境的配置)

 

Releasexcconfig.xcconfig

iOS-xcconfig环境变量那些事(配置环境的配置) 

 

Commonxcconfig.xcconfig

iOS-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.配置环境

iOS-xcconfig环境变量那些事(配置环境的配置)

iOS-xcconfig环境变量那些事(配置环境的配置)

 

这样就可以用 xcconfig,定义在编译环境下的宏,如果上一步中 Pods/Target Support Files/Pods-TestApp/Pods-TestApp.debug.xcconfig 和 Pods/Target Support Files/Pods-TestApp/Pods-TestApp.release.xcconfig 路径不确定,终端进入项目文件夹,pod install ,终端会有提示路径,将该路径复制后引用就可以。

iOS-xcconfig环境变量那些事(配置环境的配置)

 

iOS-xcconfig环境变量那些事(配置环境的配置)

 

配置自定义编译环境

iOS-xcconfig环境变量那些事(配置环境的配置)

iOS-xcconfig环境变量那些事(配置环境的配置) 

iOS-xcconfig环境变量那些事(配置环境的配置)

 

iOS-xcconfig环境变量那些事(配置环境的配置)

上一篇:github上十二款最著名的Android播放器开源项目


下一篇:Java程序员秋招面经大合集(BAT美团网易小米华为中兴等)