Xcode多Target配置浅析

2021-01-21  本文已影响0人  暗夜北斗

1概念:

Project:包含了项目所有代码、资源文件、所有信息

Target: 对指定代码和资源文件的具体构建方式,从而生成一个特定的Product。

Scheme:对指定Target的环境配置。

2创建

2.1创建Target

选中当前Target -> 右键选择Duplicate -> 弹窗中选Duplicate Only

Duplicate Target 选则Duplicate Only

2.2新建Scheme

 点击左上角选择框 -> Edit Schemes -> 选中当前Target -> 设置Scheme Name

编辑Schemes 编辑Scheme name

2.3新建Configuration

选择Project -> Info -> Configurations -> 点击加号 -> 新建Configuration

新建Configurations

此时Scheme中的Build Configuration中的选项多了一个添加的Beta,默认Project创建了Debug和Release两个Build Configuration。

个人感受:我个人觉得项目要生成Product的需要差异比较大(比如SDK不同,涉及的文件、图片、资源不同等)则需要创建不同的Target,如果只是单纯的配置方面的问题(域名、参数、链接)则只需要创建不同的Scheme就可以了。

3,使用

创建不同的Scheme后,进行一次测试

选中Target -> Build Setting -> Add User-Defined Setting

创建自定义设置

创建HOST_URL设置 Release、Debug、Beta配置不同的地址

HOST_URL

在Info.plist里设置键值对 HOST_URL : ${HOST_URL},在代码中获取对应的值

设置键值对 根据Key获取对应Scheme下的Value

工程Run的时候选择对应的Target和Scheme,对打印出对应配置下的值,这样就根据Scheme分别配置了相应的设置。(正式环境、测试环境、预发布环境可以根据这种方式完美解决)

4.多xconfig文件配置

cmd + n 创建Config文件,一般命名规则:文件夹名-Target名.Build Configuration,后面会自动带上xcconfig

创建config文件

根据自己的Build Configurations创建,每种对应一个,并配置

配置Xconfig

如果是CocoaPods安装过第三方的话,Configurations下的Xconfig文件就会默认配置成Cocoapods的Xconfig文件。因为Cocoapods就是采用的这种配置管理方式。此时,就会有个尴尬的地方,无论怎么选都不能融合自己的文件和Cocoapods自动生成的配置文件。继承是个好东西!嘎嘎!

config配置

我们在自己的Xconfig文件中,#include相应的Pod下来的Xconfig文件,然后在Configurations中选中自己的文件,就可以拥有自定义和Pod的所有配置!!!

5,xcconfig的书写规范

xcconfig是以键值对的形式出现的。

//双斜杠是注释,需要做一个转义

定义 SLASH = /

HOST_URL = http:${SLASH}/www.xxx.com

否则代码中获取HOST_URL的时候,只能获取到http:,后面的无法获取!

参考:多环境配置 · 语雀

上一篇下一篇

猜你喜欢

热点阅读