「这是我参与11月更文挑战的第10天,活动详情查看:2021最后一次更文挑战」
前言
在项目经常会有多个开发环境的存在, 比如我们公司有开发环境, 测试环境, 预上线环境, 线上环境 一共4个环境, 对于iOS来说就会有4个不同host存在, 如果测试人员要求打不同的包, 那么就要一直去代码里面更改host代码来实现, 如果再重复的修改代码过程中, 在某一次上线过程中忘记修改了host,将测试环境的host给发布上去....那么只能说GG了, 太惨了.
为了避免这种情况的发生, 系统其实有相对应的解决方案就是配置环境变量, 比如Debug 和 Release 就是大家经常用的两种方案, 但是两种又远远不够, 那么就需要自己来新增这种环境变量的配置来实现了.
实现
1. 创建 Build Configuration
如图所示, 创建一个Build Configuration, 在创建的时候会选择Duplicate Release configuration 还是 Duplicate Debug configuration, 这里想选项就是说你新建的Configuration是要复制哪一个来生成.
至于创建的名字, 由你自己来定义, 最好定义成和环境相关的名词.
2. 创建 .xcconfig
创建 .xcconfig 的操作就和咱们创建一个类的操作是差都不多的, 看下图就知道了
需要注意的一点就是, 创建的时候需要将这个文件加入到项目中来.
3. 关联 .xcconfig
在咱们刚刚创建 Configuration 的中, 选择新建的 .xcconfig 来进行关联上, 那么在程序运行的过程中, 执行的环境变量等数据, 就是 .xcconfig 中配置的, 不是系统原先的数据了
4. 配置 .xcconfig
xcconfig 的功能是很强大的, 他可以配置很多数据, 好比如: 版本, app名称, 包名 等数据, 都是可以进行修改的, 看下面的示例就可以了, 大家都是成熟的程序员了.
OP_APP_NAME = OP Debug
OP_APP_VERSION = 1.0.0
OP_APP_BUNDLE_ID = com.aaa.bbb
然后再info.plist文件中修改对应的配置变量就可以了, 我们上面修改了 app名称, 版本号, 包名, 那么info.plist中的修改就如下图所示:
结语
.xcconfig 是一个很强大的东西, 有时间的话可以多研究研究, 对于iOS多环境 多项目的开发是有非常的大提升的, 如果你好更好的建议或者想法, 请联系我, 谢谢