Target Scheme xcconfig多种多环境配置

Project:包含了项目所有的代码,资源文件,所有信息。
Target:对指定代码和资源文件的具体构建方式。
Scheme:对指定Target的环境配置。

不同项目,不同的需求,不同的场景。我们可以同过多Target配置,解决同一份代码对应不同APP的需求。多Scheme配置,可以解决同一个APP在不同场景下运行,比如debug,release等。Scheme+xcconfig配置,通过文件形式进行APP的配置,达到解耦作用。下面是一些操作案例:

多Target配置:

创建一个新的Target后,所需修改的地方
Target-图1.jpg
Target-图2.jpg
Target-图3.jpg
使用场景:

首先通过不同的Target我们可以用同一套代码,创建不同的AppIcon,不同的Bundle identifier,等其它不同的配置,如下图
图一.jpg
图二.jpg
图三.jpg
我们也可以使用宏判断:
宏-图1.jpg
宏-图2.jpg
宏-图3.jpg
宏-图4.jpg

多Scheme配置:
新建Configurations.jpg

新建Scheme-图1.jpg
新建Scheme-图2.jpg
修改Scheme配置.jpg
配置不同环境的链接.jpg
绑定到info.plist上.jpg
效果图1.jpg
效果图2.jpg

Scheme + XConfig配置

首先我们在工程中创建一个Config文件夹,里面创建2个想xcconfig文件,然后去PROJECT --> Info --> configurations 中根据不同环境关联不同xcconfig文件。这里的xcconfig和Pods生成的文件一样。

xcconfig命名规则可以是 文件名+项目名+环境名

创建Xconfig并关联.jpg

这一步可以操作,也可以不操作。直接进demoThree里面切换环境,这里方便演示创建2个不同环境。
创建不同Scheme.jpg
修改Scheme配置.jpg

把xcconfig里面的内容和Info.plist进行绑定
绑定到info.plist上.jpg

在不同Scheme下运行的结果:(报错是找不到AFNetworkingAA,注释就可以)
运行结果.jpg

查看Build Settings我们可以知道,通过xcconfig可以修改Build Settings中的配置。
查找Build Settings里面配置缩写的网址:https://xcodebuildsettings.com/

图1.jpg

图2.jpg

最后项目中是使用Pods管理三方库的话,这里新增的xcconfig会和Pods里面的xcconfig产生冲突。解决方法是,在新增的xcconfig里面用#include引入Pods的xcconfig文件

#include "/Users/XXX/Desktop/XXX/Pods/Target\ Support\ Files/XXX/Pods-DIAgent.debug.xcconfig"

你可能感兴趣的:(Target Scheme xcconfig多种多环境配置)