欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  移动技术

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

程序员文章站 2022-07-21 21:17:36
前言 在配置宏定义参数时,会发现一个问题,在需要临时修改或者测试一些数据时,修改宏,如果不修改,就多写一个,注释掉原来的,然后测试后,再换回来,当然了,如果一两个宏,可以这样,但是,如果每次改的比较多,建议用环境变量来配置,也就是用 xcconfig 控制 Debug 或 Release编译时,同一 ......

前言

在配置宏定义参数时,会发现一个问题,在需要临时修改或者测试一些数据时,修改宏,如果不修改,就多写一个,注释掉原来的,然后测试后,再换回来,当然了,如果一两个宏,可以这样,但是,如果每次改的比较多,建议用环境变量来配置,也就是用 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环境变量那些事(配置环境的配置)